詳解于ADO .NET 類操作數(shù)據(jù)
ADO.這個(gè)連接對象可以是SQLConnection 或是 ADOConnection,這取決于所采用的目標(biāo)提供程序. 需要記住的是,雖然在這里不做推薦,但你也可以利用ADO .NET 類來連接到SQL Server數(shù)據(jù)庫.
這種方法唯一不足是,代碼需要通過一個(gè)不必要的額外代碼層. 首先它會調(diào)入ADO的托管提供程序, 然后ADO的托管提供程序再調(diào)用SQL Server OLE DB 提供程序. 如同OLE DB 提供程序做的一樣,SQL Server 托管提供程序會直接操作數(shù)據(jù),
關(guān)于ADO 和ADO.NET在連接對象上***的差別在于ADO.NET連接不支持CursorLocation屬性.與其說這是一個(gè)文檔BUG,還不如認(rèn)為這是一個(gè)備具爭議的設(shè)計(jì)問題.為強(qiáng)制執(zhí)行它的以數(shù)據(jù)為中心的基準(zhǔn),ADO .NET 類沒有游標(biāo)的顯示實(shí)現(xiàn).#t#
在ADO中,你已習(xí)慣于利用游標(biāo)將記錄從數(shù)據(jù)庫或其它OLE DB兼容的數(shù)據(jù)源中抽取, 你可以選擇客戶端或是服務(wù)器端游標(biāo),每種游標(biāo)都有幾個(gè)預(yù)先設(shè)定的游標(biāo)類型. 而在ADO.NET中更多的是從數(shù)據(jù)源中抽取數(shù)據(jù),并且為讀取和分析數(shù)據(jù)提供新的編程接口
在ADO中,通過規(guī)定連接和命令文本,你可以創(chuàng)建一個(gè)Recordset 對象.對于游標(biāo)的位置和類型Recordset有一些規(guī)定.ADO .NET 類你可以按下面的方法來讀取數(shù)據(jù).在內(nèi)存中創(chuàng)建選定記錄的靜態(tài)副本,然后在斷開與數(shù)據(jù)源的連接時(shí)對副本進(jìn)行處理,ADO稱之為靜態(tài)游標(biāo).
通過快速的, 僅向前的, 只讀游標(biāo)來滾動數(shù)據(jù),,ADO稱之為僅向前游標(biāo).通過服務(wù)器端游標(biāo)來訪問數(shù)據(jù),需要良好的連接,但您可以在不同層面上檢測由其它連線用戶輸入的信息,ADO稱之為: 動態(tài)游標(biāo).
頭兩種都是在斷開的recordsets上進(jìn)行操作,并從客戶端緩存中讀取信息,另外,前兩種方式也常被用于面向WEB的環(huán)境中以及全新的 n-tier 系統(tǒng)當(dāng)中.在ADO中,以上所有這些方式與不同類型的游標(biāo)相對應(yīng) .在文中,你將會發(fā)現(xiàn),ADO .NET 類雖然與ADO不同,但它具備了ADO的所有功能.相對照來說,你的代碼將從實(shí)際的數(shù)據(jù)源及其物理存儲媒介和格式中抽取數(shù)據(jù).