C#中SqlDataReader與SqlDataAdapter獲取數據集有何區別


之前一直有個誤區,認為SqlDataAdapter不僅占內存,還沒有SqlDataReader讀取快,所以優選SqlDataReader。但是昨天與主管有意見上的爭議,總覺得沒弄明白不太甘心。

然后就研究了一番,首先了解二者的原理:

1.SqlDataReader提供一種從數據庫讀取行的只進流,

   SqlDataAdapter執行數據命令和數據連接,獲取表數據填充到DataSet或DataTable中

2.使用SqlDataReader循環讀取,直到完全讀取完才斷開數據庫連接;而SqlDataAdapter執行命令后就斷開了

***若獲取數據后需要進行非DataSet或DataTable類型轉換,並且數據量大的情況下,優選SqlDataReader,因為類型轉換也是耗時的,數據量 越大越明顯

***若獲取到數據,不需要進行一些復雜的邏輯處理,則用SqlDataAdapter

所以二者何時使用得需要考慮實際情況,數據量大的時候尤為考慮!

若有誤解的地方希望提出!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM