2009-10-15 66 views

回答

3

,首先請允許我糾正你的誤解:如果您使用的SQL Server不是每一個的IDataReader將能夠從您的MS SQL Server

讀取數據在.NET環境中(你的問題所適用的我承擔到)有兩個具體類實現可以訪問SQL Server的IDataReader。一個是SQLDataReader,另一個是OleDbDataReader。 OleDbDataReader實際上依賴於OleDb protocol,它基本上是一個RDBMS通信協議。在您的代碼中使用IDataReader將(或多或少)確保您可以替換它後面的具體數據註冊器(例如,讓您能夠切換數據庫供應商,而不是我認識任何成功完成該任務的人)。

對於acessing SQL Server中,專門SqlDataReader的更快通過根據本source 115%,因爲它使用本地SQL服務器協議(命名管道/ TCP/IP)。它還支持特殊的SQL Server功能,如MARS。

+0

謝謝,約翰內斯。爲什麼SQLDataReader應該更快? – GernBlandston 2009-10-16 08:55:32

+0

我已更新我的帖子,請參閱上文。不要猶豫,將其標記爲答案:-) – 2009-10-16 12:46:51

0

.HasRows屬性是我能想到的唯一一個。 雖然這並不是必要的。