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