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