SqlCommand.ExecuteReader 方法

SqlCommand.ExecuteReader 方法SqlCommand.ExecuteReader方法将CommandText发送到Connection并生成一个SqlDataReader。重载列表名称说明SqlCommand.ExecuteReader()…

大家好,又见面了,我是你们的朋友全栈君。

SqlCommand.ExecuteReader 方法

CommandText 发送到 Connection 并生成一个 SqlDataReader

SqlCommand.ExecuteReader 方法 重载列表

名称 说明
SqlCommand.ExecuteReader () 将 CommandText 发送到 Connection 并生成一个 SqlDataReader。

由 .NET Compact Framework 支持。

SqlCommand.ExecuteReader (CommandBehavior) 将 CommandText 发送到 Connection,并使用 CommandBehavior 值之一生成一个 SqlDataReader。

由 .NET Compact Framework 支持。 

SqlCommand.ExecuteReader 方法 ()

CommandText 发送到 Connection 并生成一个 SqlDataReader

命名空间:System.Data.SqlClient
程序集:System.Data(在 system.data.dll 中)

SqlCommand.ExecuteReader 方法 语法



C#

public SqlDataReader ExecuteReader ()

C++

public:
SqlDataReader^ ExecuteReader ()

J#

public SqlDataReader ExecuteReader ()

JScript

public function ExecuteReader () : SqlDataReader

返回值

一个
SqlDataReader 对象。

SqlCommand.ExecuteReader 方法 异常

异常类型 条件

Exception

未能执行此命令。

SqlException

在对锁定的行执行该命令期间发生了异常。如果使用的是 Microsoft .NET Framework 1.0 版,将不会生成该异常。

SqlCommand.ExecuteReader 方法 备注

CommandType 属性设置为 StoredProcedure 时,CommandText 属性应设置为存储过程的名称。当调用 ExecuteReader 时,该命令将执行此存储过程。

如果使用 SQL Server 2005 之前的 SQL Server 版本,在使用 SqlDataReader 时,关联的 SqlConnection 将忙于为 SqlDataReader 服务。当处于此状态时,除了关闭 SqlConnection 外,不能对其执行其他任何操作。除非调用 SqlDataReaderClose 方法,否则会一直处于此状态。从 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.ExecuteReader 方法 示例

下面的示例创建一个 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]));
}
} 

SqlCommand.ExecuteReader 方法 (CommandBehavior)

CommandText 发送到 Connection,并使用 CommandBehavior 值之一生成一个 SqlDataReader

命名空间:System.Data.SqlClient
程序集:System.Data(在 system.data.dll 中)

C#

public SqlDataReader ExecuteReader (
CommandBehavior behavior
)



参数

behavior

CommandBehavior 值之一。

返回值

一个
SqlDataReader 对象。

CommandType 属性设置为 StoredProcedure 时,CommandText 属性应设置为存储过程的名称。当调用 ExecuteReader 时,该命令将执行此存储过程。

SqlDataReader 支持一种特殊的模式,在此模式下可以有效地读取较大的二进制值。有关更多信息,请参见 CommandBehaviorSequentialAccess 设置。

如果使用 SQL Server 2005 之前的 SQL Server 版本,在使用 SqlDataReader 时,关联的 SqlConnection 将忙于为 SqlDataReader 服务。当处于此状态时,除了关闭 SqlConnection 外,不能对其执行其他任何操作。在调用 SqlDataReader.Close 方法之前一直如此。如果创建了 SqlDataReader 并将 CommandBehavior 设置为 CloseConnection,则关闭 SqlDataReader 会自动关闭此连接。从 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 语句,另一个字符串用于连接至数据源。CommandBehavior 设置为 CloseConnection



private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
connection.Open();
SqlDataReader reader =
command.ExecuteReader(CommandBehavior.CloseConnection);
while (reader.Read())
{
Console.WriteLine(String.Format("{0}", reader[0]));
}
} 

 

转载于:https://www.cnblogs.com/zxlin25/archive/2009/02/26/1399006.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151524.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 八皇后问题递归算法思想_迷宫在数据结构中的地位

    八皇后问题递归算法思想_迷宫在数据结构中的地位一、迷宫回溯问题1.问题一个7*8的数组模拟迷宫,障碍用1表示,通路使用0表示,给定起点(1,1)和终点(6,5),要求给出起点到终点的通路2.解题思路首先,我们需要给程序一个寻向的基本策略,

    2022年8月16日
    6
  • idea导入springboot源码

    idea导入springboot源码两天啊,导入了两天没有成功啊,网上搜了超级多的教程,没有用啊。而后我让领导帮我试试,领导从github直接下载源码包,然后通过idea的open导入,然后idea就自动下载jar包,然后,然后就好了!!!我人傻了。下载的是2.2.X,因为我本地用的是maven,所以在2.2.9.release版本之后用的都是gradle构建项目的。后来发现,是我自作聪明了。原来,maven默认配置文件在C盘,我当时装的时候移到D盘,然后导入源码的时候怎么都识别不了,目前具体原因还没有找到,但是我把maven的配置

    2022年5月23日
    67
  • PHP-递归算法「建议收藏」

    PHP-递归算法「建议收藏」在PHP开发过程中,递归算法通常用于无限极分类。那么所谓递归就是一种函数调用自身的机制。简单来说就是在函数体内直接或间接自己调用自己,但需要设置自调用的条件,若满足条件,则调用函数本身,若不满足则终止本函数的自调用。并且递归算法的实现方法是有多种的,如通过“静态变量”、“全局变量”、“引用传参”的方式。下面我们就结合具体的代码示例,给大家介绍其中一种方法即利用静态变量的方法!代码如下:输…

    2022年8月11日
    5
  • 学习经验谈:Unity3d开发中最佳语言还是C#

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!               作为学unity3d的

    2022年4月14日
    58
  • Linux日志管理「建议收藏」

    Linux日志管理「建议收藏」一、日至来源日至由程序产生,存储在内存条中1、日志的查看>/nar/log/messages                ##清空目录内容cat/var/log/messages              ##查看日志systemctlstartrsyslog.service    ##加载日志收集/var/log/secure         …

    2022年6月8日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号