DataSet,DataTable,DataReader,DataAdapter區別(搞笑版)

【來源於網絡搜索】

ASP.net有這些知識,DataSet,DataTable,DataReader,DataAdapter.

DataSet是用來做連接sql的一種方法,意思是把數據庫的副本存在應用程序裏,應用程序開始運行時,把數據庫相關數據保存到DataSet.
DataTable表示內存中數據的一個表.常和DefaultView使用獲取可能包括篩選視圖或遊標位置的表的自定義視圖。
DataReader對象是用來讀取數據庫的最簡單方式,它只能讀取,不能寫入,並且是從頭至尾往下讀的,無法只讀某條數據,但它佔用內存小,速度快
DataAdapter對象是用來讀取數據庫.可讀取寫入數據,某條數據超着強,但它佔用內存比dataReader大,速度慢
 
1 上帝說,要連接數據庫,於是就有了sqlconnection (數據庫連接,配置連接字符串等,用戶名密碼之類)

2 上帝說,要執行sql語句。於是就有了sqlcommand, 直接翻譯成sql命令。每個sqlcommand都有commandtext跟parameters 文本跟參數。填寫好這個命令,然後execute去執行。當然,要確保連接是open的才能執行。沒連接啥都幹不了。

3 上帝認爲要有辦法讀取返回結果,於是便有了datareader.可以一條一條的讀取(read)直到最後一條。

4 上帝認爲,把執行的結果找個地方存起來是好的。於是就有了dataset。這個東西很完美,基本上能存各種數據跟關係,比datareader方便很多。 裏面有一個一個的dataview跟datatable.針對你的查詢結果,當然,datatable又可以從datarow一個一個的循環取得

5 上帝覺得上述步驟太複雜了 -_-!
於是便有了SqlDataAdapter (翻譯爲SQL數據適配器,適配器模式) 它來封裝簡化了上述步驟。你只要new出來一個sqldataadapter,給他填上語句,直接fill到dataset就行了。 這樣你什麼都有了,只需要兩步!

6 微軟覺得,可視化的東西是上帝喜歡的(用戶==上帝)
於 是有了一個一個的SqlAdapter控件,DataSet控件,GridView控件....你可以直接拖到你的窗口(WinForm)或者頁面 (Asp.Net Web Application等)設置幾個屬性,綁定即可。一行代碼都不用寫。以至於普通網管跟文員都能成爲潛在用戶。(雖然這種方式被“專業程序員”所不齒)


7 建議:
如果喜歡效率的,用command+datareader自己處理(要小心別弄得更差哦)
如果喜歡方便的,就大量的使用Adapter+DataSet吧。畢竟綁定太節約時間了
如果就想顯示個數據而已...拖吧...反正你就是想給隔壁辦公室顯示個報表。幹嘛想那麼多。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章