SqlCommand.ExecuteReader() 方法
将 CommandText 发送到 Connection 并生成一个 SqlDataReader。
命名空间:System.Data.SqlClient
程序集:System.Data(在 system.data.dll 中)
语法:
public SqlDataReader ExecuteReader ()
返回值
一个 SqlDataReader 对象。
异常类型 | 条件 |
Exception | 未能执行此命令。 |
SqlException | 在对锁定的行执行该命令期间发生了异常。如果使用的是 Microsoft .NET Framework 1.0 版,将不会生成该异常。 |
当
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 个字符的所有
读取 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]));}}}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。