天天看點

ADO.NET(asp.net)五大常用的對象

ADO.NET常用的對象

     (ado.net則是由asp.net程式設計語言編寫的資料通路層的總括)

Connection:用于連接配接資料庫的對象,表示到資料源的一個唯一的連接配接。主要是開啟程式和資料庫之間的連接配接。沒有利用連接配接對象将資料庫打開,是無法從資料庫中取得資料的。Close和Dispose的差別,Close以後還可以Open,Dispose以後則不能再用。

Command:主要可以用來對資料庫發出一些指令,例如可以對資料庫下達查詢、新增、修改、删除資料等指令,以及調用存在資料庫中的存儲過程等。這個對象是架構在Connection 對象上,也就是Command 對象是透過連接配接到資料源。

DataAdapter:主要是在資料源以及DataSet 之間執行資料傳輸的工作,它可以透過Command 對象下達指令後,并将取得的資料放入DataSet 對象中。這個對象是架構在Command對象上,并提供了許多配合DataSet 使用的功能。

DataSet:表示記憶體中資料的緩存(可以視為一個暫存區),可以把它想像成一個臨時的資料庫,可以把從資料庫中所查詢到的資料保留起來,甚至可以将整個資料庫顯示出來,DataSet是放在記憶體中的。DataSet 的能力不隻是可以儲存Table 而已,還可以透過DataAdapter對象取得一些例如主鍵等的資料表結構,并可以記錄資料表間的關聯。DataSet 對象可以說是ADO.NET 中重量級的對象,這個對象架構在DataAdapter對象上,本身不具備和資料源溝通的能力;也就是說我們是将DataAdapter對象當做DataSet 對象以及資料源間傳輸資料的橋梁。DataSet可以存多個表DataTable、DataTableTable包含若幹DataRow,而且是斷開式的,不用每進行一次操作就對資料庫進行更新,進而提高了效率。

DataReader:當我們隻需要循序的讀取資料而不需要其它操作時,可以使用DataReader 對象。DataReader對象隻是一次一筆向下循序的讀取資料源中的資料,這些資料是存在資料庫伺服器中的,而不是一次性加載到程式的記憶體中的,隻能[通過遊标(遊标是處理結果集的一種機制,它可以定位到結果集中的某一行,多資料進行讀寫,也可以移動遊标定位到你所需要的行中進行操作資料。)]讀取目前行的資料,而且這些資料是隻讀的,并不允許作其它的操作。DataReader對象與DataSet最大的不同是有連接配接式的,每次對資料庫進行存取都會影響到資料庫。但是DataReader 在讀取資料的時候限制了每次隻讀取一筆,而且隻能隻讀,是以使用起來不但節省資源而且效率很好。并且使用DataReader 對象除了效率較好之外,因為不用把資料全部傳回,故可以降低網絡的負載。

總結

ADO.NET 使用Connection 對象來連接配接資料庫,使用Command 或DataAdapter對象來執行SQL語句,并将執行的結果傳回給DataReader 或 DataAdapter ,然後再使用取得的DataReader 或DataAdapter 對象操作資料結果。