SqlCommand.ExecuteReader() 方法
将 CommandText 发送到 Connection 并生成一个 SqlDataReader。 命名空间:System.Data.SqlClient
程序集:System.Data(在 system.data.dll 中) 语法:
public SqlDataReader ExecuteReader ()
返回值一个 SqlDataReader 对象。
异常
备注
当 CommandType 属性设置为 StoredProcedure 时,CommandText 属性应设置为
存储过程的名称。当调用 ExecuteReader 时,该命令将执行此存储过程。 如果使用 SQL Server 2005 之前的 SQL Server 版本,在使用 SqlDataReader 时,
关联的 SqlConnection 将忙于为 SqlDataReader 服务。当处于此状态时,除了关闭 SqlConnection 外,不能对其执行其他任何操作。除非调用 SqlDataReader 的
Close 方法,否则会一直处于此状态。从 SQL Server 2005 开始,多活动结果
集 (MARS) 功能允许多个操作使用同一连接。
如果您使用 ExecuteReader 或 BeginExecuteReader 访问 XML 数据,
SQL Server 将以多行(每行 2,033 个字符)方式返回长度大于 2,033 个字符的所有 XML 结果。若要避免发生此行为,请使用 ExecuteXmlReader 或 BeginExecuteXmlReader
读取 FOR XML 查询。有关更多信息,请参见位于
http://support.microsoft.com/default.aspx?ln=zh-cn. 上的 Microsoft 知识库中的
文章 Q310378“PRB: XML Data Is Truncated When You Use SqlDataReader”(PRB:使
用 SqlDataReader 时 XML 数据被截断)。
示例
下面的示例创建一个 SqlCommand,然后通过传递两个字符串来执行它,其中一
个字符串是 Transact-SQL SELECT 语句,另一个字符串用于连接至数据源。 private static void CreateCommand(string queryString, string connectionString) { using (SqlConnection connection = new SqlConnection( connectionString)) { connection.Open(); SqlCommand command = new SqlCommand(queryString, connection); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { Console.WriteLine(String.Format("{0}", reader[0])); } } } |
|
来自: 寒木萧条 > 《SqlServer》