對于ADO.NET 2.0數據訪問挑戰
在.NET中集成對象數據類型支持是很難的;數據集使這項工作很難完成。你們支持這一點嗎?ADO.NET 2.0:對象數據類型支持當前處于評估期。是的。它包含在我們所有的版本中,在ADO.NET 2.0也有。
ADO.NET:在.NET平臺下重新設計的數據訪問模型。ADO.NET 2.0提供了一系列對各類數據的訪問形式,并提供了對應的類,類中提供了與對應數據交互的屬性和方法,編程者可以通過這些屬性和方法方便的對各種數據進行存取操作,例如數據庫、XML等。#t#
在ADO.NET 2.0中,SQL數據提供程序使用統一的SQL數據訪問模型實現對各種使用SQL語句的數據庫的數據訪問支持。例如Oracle、SQL Server、DB2、Access等。ADO.NET的***特點:支持對數據的無連接方式的訪問,減少與數據庫的活動連接數目。
二,ADO.NET數據訪問對象
ADO.NET提供了多種對象模型,比較典型的有:
◆ SqlConnection對象
◆ SqlCommand對象
◆ SqlDataReader對象
◆ SqlDataAdapter對象
◆ SqlParameter對象
◆ SqlTransaction對象
這些對象提供了對Sql Server數據源的各種不同的訪問功能,全部歸類在System.Data.SqlClient命名空間下。
2.1 SqlConnection對象:
ADO.NET使用SqlConnection對象與SQL Server進行連接。但是要在SqlConnection對象中指定一個連接字符串。
2.2 SqlCommand對象
在ADO.NET中,有兩種操作數據庫的方式:
(1)采用無連接的方式。
(2)采用保持連接的方式。
不論采用哪種方式,都可以通過ADO.NET 2.0對象提供的方法傳遞對數據庫操作的命令,并返回命令執行的結果。保持連接的方式下操作數據庫的一般步驟為:
1) 創建SqlConnection的實例;
2) 創建SqlCommand的實例;
3) 打開連接;
4) 執行命令;
5) 關閉連接。
SADO.NET 2.0對象提供了多種完成對數據庫操作的方法。常用有:
1. ExecuteNonQuery
該方法執行SQL語句的結果,但不返回命令執行的表數據,僅返回操作所影響的行數。
2. ExecuteReader
該方法提供了只向前的、順序的快速讀取數據庫中數據的方法。該方法根據提供的SELECT語句,返回一個可以順序讀取的SqlDataReader對象,編程者可以使用Read方法循環依次讀取每個記錄中各字段(列)的內容。
3. ExecuteScaler()
該方法用于執行SELECT查詢,得到的返回結果為一個值的情況,比如使用ADO.NET 2.0表中記錄個數或者使用sum函數求和等。