2009-10-15 56 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属性是我能想到的唯一一个。 虽然这并不是必要的。