SqlCommand 概述
| SqlCommand 构造函数 | 已重载。初始化 SqlCommand 类的新实例。 |
| CommandText | 获取或设置要对数据源执行的 Transact-SQL 语句或存储过程。 |
| CommandTimeout | 获取或设置在终止执行命令的尝试并生成错误之前的等待时间。 |
| CommandType | 获取或设置一个值,该值指示如何解释 CommandText 属性。 |
| Connection | 获取或设置 SqlCommand 的此实例使用的 SqlConnection。 |
| Container(从 Component 继承) | 获取 IContainer,它包含 Component。 |
| DesignTimeVisible | 获取或设置一个值,该值指示命令对象是否应在 Windows 窗体设计器控件中可见。 |
| Parameters | 获取 SqlParameterCollection。 |
| Site(从 Component 继承) | 获取或设置 Component 的 ISite。 |
| Transaction | 获取或设置在其中执行 SqlCommand 的事务。 |
| UpdatedRowSource | 获取或设置命令结果在由 DbDataAdapter 的 Update 方法使用时如何应用于 DataRow。 |
| Cancel | 试图取消 SqlCommand 的执行。 |
| CreateObjRef(从 MarshalByRefObject 继承) | 创建一个对象,该对象包含生成用于与远程对象进行通讯的代理所需的全部相关信息。 |
| CreateParameter | 创建 SqlParameter 对象的新实例。 |
| Dispose(从 Component 继承) | 已重载。释放由 Component 占用的资源。 |
| Equals(从 Object 继承) | 已重载。确定两个 Object 实例是否相等。 |
| ExecuteNonQuery | 对 Connection 执行 Transact-SQL 语句并返回受影响的行数。 |
| ExecuteReader | 已重载。将 CommandText 发送到 Connection 并生成一个 SqlDataReader。 |
| ExecuteScalar | 执行查询,并返回查询所返回的结果集中第一行的第一列。忽略额外的列或行。 |
| ExecuteXmlReader | 将 CommandText 发送到 Connection 并生成一个 XmlReader 对象。 |
| GetHashCode(从 Object 继承) | 用作特定类型的哈希函数,适合在哈希算法和数据结构(如哈希表)中使用。 |
| GetLifetimeService(从 MarshalByRefObject 继承) | 检索控制此实例的生存期策略的当前生存期服务对象。 |
| GetType(从 Object 继承) | 获取当前实例的 Type。 |
| InitializeLifetimeService(从 MarshalByRefObject 继承) | 获取控制此实例的生存期策略的生存期服务对象。 |
| Prepare | 在 SQL Server 的实例上创建命令的一个准备版本。 |
| ResetCommandTimeout | 将 CommandTimeout 属性重置为其默认值。 |
| ToString(从 Object 继承) | 返回表示当前 Object 的 String。 |
| Disposed(从 Component 继承) | 添加事件处理程序以侦听组件上的 Disposed 事件。 |
| DesignMode(从 Component 继承) | 获取一个值,用以指示 Component 当前是否处于设计模式。 |
| Events(从 Component 继承) | 获取附加到此 Component 的事件处理程序的列表。 |
| Dispose(从 Component 继承) | 已重载。释放由 Component 占用的资源。 |
| Finalize(从 Object 继承) | 已重写。允许 Object
在“垃圾回收”回收 Object
之前尝试释放资源并执行其他清理操作。
在 C# 和 C++ 中,使用析构函数语法来表示终结程序。 |
| GetService(从 Component 继承) | 返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。 |
| MemberwiseClone(从 Object 继承) | 创建当前 Object 的浅表副本。 |
表示要对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程。不能继承此类。
有关此类型所有成员的列表。
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Data.SqlClient.SqlCommand
[Visual Basic]
NotInheritable Public Class SqlCommand
Inherits Component
Implements IDbCommand, ICloneable
[C#]
public sealed class SqlCommand : Component, IDbCommand, ICloneable
[C++]
public __gc __sealed class SqlCommand : public Component,
IDbCommand, ICloneable
[JScript]
public class SqlCommand extends Component implements IDbCommand,
ICloneable
此类型的所有公共静态(Visual Basic 中为 Shared)成员对多线程操作而言都是安全的。但不保证任何实例成员是线程安全的。
当创建 SqlCommand 的实例时,读/写属性将被设置为它们的初始值。有关这些值的列表,请参阅 SqlCommand 构造函数。
SqlCommand 特别提供了以下对 SQL Server 数据库执行命令的方法:
| 项 | 说明 |
| ExecuteReader | 执行返回行的命令。为了提高性能,ExecuteReader 使用 Transact-SQL sp_executesql 系统存储过程调用命令。因此,如果用于执行像 Transact-SQL SET 语句这样的命令,ExecuteReader 可能无法获得预期效果。 |
| ExecuteNonQuery | 执行如 Transact-SQL INSERT、DELELE、UPDATE 和 SET 语句等命令。 |
| ExecuteScalar | 从数据库中检索单个值(例如一个聚合值)。 |
| ExecuteXmlReader | 将 CommandText 发送到 Connection 并生成一个 XmlReader 对象。 |
如果执行 SqlCommand 的方法生成 SqlException,那么当严重度等于或小于 19 时,SqlConnection 将仍保持打开状态。当严重度等于或大于 20 时,服务器通常会关闭 SqlConnection。但是,用户可以重新打开连接并继续操作。
[Visual Basic, C#] 以下示例创建一个 SqlConnection、一个 SqlCommand 和一个 SqlDataReader。该示例读取所有数据,并将其写到控制台。最后,该示例先关闭 SqlDataReader,再关闭 SqlConnection。
[Visual Basic]
Public Sub ReadMyData(myConnString As String)
Dim mySelectQuery As String = "SELECT OrderID, Customer FROM Orders"
Dim myConnection As New SqlConnection(myConnString)
Dim myCommand As New SqlCommand(mySelectQuery, myConnection)
myConnection.Open()
Dim myReader As SqlDataReader = myCommand.ExecuteReader()
Try
While myReader.Read()
Console.WriteLine((myReader.GetInt32(0).ToString & ", " & myReader.GetString(1)))
End While
Finally
' always call Close when done reading.
myReader.Close()
' always call Close when done reading.
myConnection.Close()
End Try
End Sub 'ReadMyData
[C#]
public void ReadMyData(string myConnString)
{
string mySelectQuery = "SELECT OrderID, Customer FROM Orders";
SqlConnection myConnection = new SqlConnection(myConnString);
SqlCommand myCommand = new SqlCommand(mySelectQuery,myConnection);
myConnection.Open();
SqlDataReader myReader = myCommand.ExecuteReader();
try
{
while (myReader.Read())
{
Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(1));
}
}
finally
{
// always call Close when done reading.
myReader.Close();
// always call Close when done reading.
myConnection.Close();
}
}
[C++, JScript] 没有可用于 C++ 或 JScript 的示例。若要查看 Visual Basic 或 C# 示例,请单击页左上角的语言筛选器按钮。