對於Web開發到底是否應該使用DataReader(探討)

來源:互聯網
上載者:User
對於Web開發到底是否應該使用DataReader? 今天我的那位非常忠實的DataReader哥們又給我說,為什麼不擴充一個DataReader的資料操作類.我沒有回答他的這個問題,只說了句一般Web開發不推薦使用這個東西.(因為以前給他說過這個問題).
  那麼到底在Web開發中是否要使用DataReader呢?
  首先我們來看下DataReader的概念.(MSDN上的內容)
  DataReader是專門為資料處理以及快速地只進、唯讀訪問資料而設計的組件。Connection 對象提供與資料來源的串連。Command 對象使您能夠訪問用於返回資料、修改資料、運行預存程序以及發送或檢索參數資訊的資料庫命令。DataReader 從資料來源中提供高效能的資料流。
  大家看Msdn解釋的後半句:
  最後,DataAdapter 提供串連 DataSet 對象和資料來源的橋樑。DataAdapter 使用 Command 對象在資料來源中執行 SQL 命令,以便將資料載入到 DataSet 中,並使對 DataSet 中資料的更改與資料來源保持一致。
  個人理解,實際上DataSet操作資料庫實際上是用到了DataReader.
  
  那麼DataSet是什麼呢?
  DataSetADO.NET DataSet專門為獨立於任何資料來源的資料訪問而設計。因此,它可以用於多種不同的資料來源,用於 XML 資料,或用於管理應用程式本地的資料。DataSet 包含一個或多個 DataTable 對象的集合,這些對象由資料行和資料列以及有關 DataTable 對象中資料的主鍵、外鍵、約束和關係資訊組成。
  
  也就是說DataSet是一個儲存資料到本地化的一個容器.(個人認為)
  
  那麼我為什麼要討論這個問題呢?
  就在於DataReader是一直連結資料庫的.DataReader對資料的操作是使用了一個資料庫連結的.而不能想DataSet一樣可以直接將資料庫連結關閉後,在對資料進行操作的.一切都是要在開啟連結的情況下進行操作的.直到操作完關閉掉才釋放資料庫的連結資源.當業務量龐大的時候資料庫連結會一直開啟,耗費資源.
  那麼如果我希望返回一個欄位的一個值呢?這個問題非常的難解.因為使用任何一個操作都可以進行.考慮到效率就使用DataReader,不考慮可以使用DataAdapter存放在DataSet中返回.
  
  個人認為不推薦Web開發使用DataReader.
  
  以上都是小弟的一些看法,肯定會有不對的地方.請高手們指點,謝謝了.給我們一個明確的在Web開發中如何靈活使用DataReader和DataSet的方法. 
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.