ADO.NET的五個主要對象
--》SqlConnection
主要是開啟應用程序和數據庫之間的連接, 用法:
首先使用sqlconnectiopn要對它釋放資源,dispose/using,在使用sqlconnection之前必須要打開連接,調用它的Open()方法,這個open()方法里面呢創建了內連接對象
(innerConnection),sqlconnection主要就是用這個內連接對象和數據庫建立連接管道的,那么和數據庫建立連接管道是很耗費資源的,而且我們每次對數據庫進行操作就要使用
sqlconnection建立連接管道,使用的比較頻繁,如果每次都去創建內連接對象建立連接管道那么性能就會很低,微軟為了解決這個問題用了一個連接池的技術,在調用sqlconnection的Open
()方法的時候它會先到連接池里去看看連接池里有沒有空閑的內連接對象,如果有就直接拿來用,否則就創建一個,那么這個連接池里面的內連接對象是什么時候存進去的呢?連接池其實
本質就相當于一個list集合數組,那么在using sqlconnection的時候只是釋放了這個sqlconnection對象,內連接對象并沒有釋放掉而是被保存到了連接池里,那么在下一次sqlconnection再
要與數據庫建立連接管道的時候就可以直接拿出來用了,由于這些內連接對象以前就已經和數據庫建立好了連接管道下一次拿來用就不用再重新建立了,這樣就很大的提高了性能,這個
sqlconnection到連接池里拿內連接對象是根據連接字符串來的,如果這個內連接對象里的連接字符串和connection的連接字符必須要一致,否則還是會重新創建。
---》SqlCommand
主要是對數據庫發出一些指令,比如說執行增加啊、刪除啊、修改啊、、、等等
---》sqlDataReader
對查詢出來的數據進行讀取,它只是一次一筆的去讀取數據源中的數據
---》DataSet
DataSet就相當于一個臨時的數據庫,它是把數據都保存在內存里面的,它的作用主要是把查詢出來的數據保存起來,它里面也可以有一張張的很多的表,甚至可以把 整個數據庫顯示出來,
還可以獲得數據表的結構比如說主鍵等,還可以保存數據表之間的關聯,DataSet要架構在SqlAdapter這個對象上的,也就是說它本身不具備和數據源溝通的能力,也就是說SqlDataAdapter是
DataSet和數據源之間進行數據溝通的一個橋梁
--->SqlDataAdapter
SqlDataAdapter就是對SqlConnection和SqlCommand做了封裝,內部也是new了這兩個對象,它主要是用來在DataSet和數據源之間進行數據的傳輸的,把查詢出來的數據放到DataSet里面,它
提供了很多配合DatasET使用的功能,比如Fill();
新聞熱點
疑難解答