分享

SqlCommand.ExecuteReader()方法

 寒木萧条 2010-09-24
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) 功能允许多个操作使用同一连接。
如果您使用 ExecuteReaderBeginExecuteReader 访问 XML 数据,
SQL Server 将以多行(每行 2,033 个字符)方式返回长度大于 2,033 个字符的所有
XML 结果。若要避免发生此行为,请使用 ExecuteXmlReaderBeginExecuteXmlReader
读取 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]));
}
}
}
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多