sqlconnection,sqlcommand,sqldataadapter,sqldatareader,dataset都是做什麼用的?

weixin_34104341發表於2020-04-07
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吧。畢竟繫結太節約時間了
如果就想顯示個資料而已...拖吧...反正你就是想給隔壁辦公室顯示個報表。幹嘛想那麼多。

轉載於:https://www.cnblogs.com/daban/archive/2012/08/27/2658630.html

相關文章