SqlCommand.ExecuteReader 方法
2009-02-26 18:56
525 查看
SqlCommand.ExecuteReader 方法
将 CommandText
发送到 Connection
并生成一个 SqlDataReader。
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
重载列表
SqlCommand.ExecuteReader 方法 ()
将 CommandText
发送到 Connection
并生成一个 SqlDataReader。
命名空间:System.Data.SqlClient
程序集:System.Data(在 system.data.dll
中)
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
语法
C#
C++
J#
JScript
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
异常
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
备注
当 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 数据被截断)。
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
示例
下面的示例创建一个 SqlCommand,然后通过传递两个字符串来执行它,其中一个字符串是
Transact-SQL SELECT 语句,另一个字符串用于连接至数据源。
C#
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
复制代码
}
SqlCommand.ExecuteReader 方法 (CommandBehavior)
将 CommandText
发送到 Connection,并使用
CommandBehavior 值之一生成一个 SqlDataReader。
命名空间:System.Data.SqlClient
程序集:System.Data(在 system.data.dll
中)
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
语法
C#
CommandBehavior
值之一。
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
备注
当 CommandType
属性设置为 StoredProcedure 时,CommandText 属性应设置为存储过程的名称。当调用 ExecuteReader
时,该命令将执行此存储过程。
SqlDataReader 支持一种特殊的模式,在此模式下可以有效地读取较大的二进制值。有关更多信息,请参见
CommandBehavior 的 SequentialAccess 设置。
如果使用 SQL Server 2005 之前的 SQL Server 版本,在使用 SqlDataReader 时,关联的 SqlConnection
将忙于为 SqlDataReader 服务。当处于此状态时,除了关闭 SqlConnection
外,不能对其执行其他任何操作。在调用 SqlDataReader.Close
方法之前一直如此。如果创建了 SqlDataReader 并将 CommandBehavior 设置为
CloseConnection,则关闭 SqlDataReader 会自动关闭此连接。从 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 数据被截断)。
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
示例
下面的示例创建一个 SqlCommand,然后通过传递两个字符串来执行它,其中一个字符串是
Transact-SQL SELECT 语句,另一个字符串用于连接至数据源。CommandBehavior 设置为 CloseConnection。
C#
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
复制代码
}
将 CommandText
发送到 Connection
并生成一个 SqlDataReader。
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
重载列表
名称 | 说明 |
---|---|
SqlCommand.ExecuteReader () | 将 CommandText 发送到 Connection 并生成一个 SqlDataReader。 由 .NET Compact Framework 支持。 |
SqlCommand.ExecuteReader (CommandBehavior) | 将 CommandText 发送到 Connection,并使用 CommandBehavior 值之一生成一个 SqlDataReader。 由 .NET Compact Framework 支持。 |
将 CommandText
发送到 Connection
并生成一个 SqlDataReader。
命名空间:System.Data.SqlClient
程序集:System.Data(在 system.data.dll
中)
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
语法
C#
public SqlDataReader ExecuteReader ()
C++
public: SqlDataReader^ ExecuteReader ()
J#
public SqlDataReader ExecuteReader ()
JScript
public function ExecuteReader () : SqlDataReader
返回值
一个 SqlDataReader 对象。![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
异常
异常类型 | 条件 |
---|---|
Exception | 未能执行此命令。 |
SqlException | 在对锁定的行执行该命令期间发生了异常。如果使用的是 Microsoft .NET Framework 1.0 版,将不会生成该异常。 |
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
备注
当 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 数据被截断)。
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
示例
下面的示例创建一个 SqlCommand,然后通过传递两个字符串来执行它,其中一个字符串是
Transact-SQL SELECT 语句,另一个字符串用于连接至数据源。
C#
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
复制代码
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
中)
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
语法
C#
public SqlDataReader ExecuteReader ( CommandBehavior behavior )
参数
behaviorCommandBehavior
值之一。
返回值
一个 SqlDataReader 对象。![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
备注
当 CommandType
属性设置为 StoredProcedure 时,CommandText 属性应设置为存储过程的名称。当调用 ExecuteReader
时,该命令将执行此存储过程。
SqlDataReader 支持一种特殊的模式,在此模式下可以有效地读取较大的二进制值。有关更多信息,请参见
CommandBehavior 的 SequentialAccess 设置。
如果使用 SQL Server 2005 之前的 SQL Server 版本,在使用 SqlDataReader 时,关联的 SqlConnection
将忙于为 SqlDataReader 服务。当处于此状态时,除了关闭 SqlConnection
外,不能对其执行其他任何操作。在调用 SqlDataReader.Close
方法之前一直如此。如果创建了 SqlDataReader 并将 CommandBehavior 设置为
CloseConnection,则关闭 SqlDataReader 会自动关闭此连接。从 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 数据被截断)。
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
示例
下面的示例创建一个 SqlCommand,然后通过传递两个字符串来执行它,其中一个字符串是
Transact-SQL SELECT 语句,另一个字符串用于连接至数据源。CommandBehavior 设置为 CloseConnection。
C#
![](http://i.msdn.microsoft.com/Global/Images/clear.gif)
复制代码
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])); } }
}
相关文章推荐
- SqlCommand.ExecuteScalar 方法
- ADO.NET 2.0中的SqlCommand.ExecutePageReader
- SqlCommand.ExecuteScalar 方法
- 11-SqlCommand.ExecuteReader相关
- EFCore执行Sql语句的方法:FromSql与ExecuteSqlCommand
- ADO.NET 2.0中的SqlCommand.ExecutePageReader
- SqlCommand ExecuteReader 出错问题(sql server)
- ADO.NET - 1.基础(SqlCommand\ExecuteScalar\ExecuteReader\sqlDataAdapter)
- SqlCommand.ExecuteReader
- DAL 操作数据库方法ExecuteNonQuery/ExecuteScalar/SqlDataAdapter/SqlDataReader
- 问:SqlHelper.ExecuteReader方法返回的sqlDataReader的connection是如何关闭的?
- SqlCommand.ExecuteScalar()方法
- EFCore执行Sql语句的方法:FromSql与ExecuteSqlCommand
- EFCore执行Sql语句的方法:FromSql与ExecuteSqlCommand
- EFCore执行Sql语句的方法:FromSql与ExecuteSqlCommand
- SqlCommand.ExecuteScalar 方法
- SqlCommand.ExecuteReader 无法获取 sqlserver 存储过程 OUTPUT 返回的参数值问题
- SqlCommand.ExecuteScalar 方法
- SqlCommand ExecuteReader 出错问题(sql server)
- conn.execute、rs.open、command.execute方法用法大大不同