OdbcCommand 类

定义

表示要针对数据源执行的 SQL 语句或存储过程。 无法继承此类。

public ref class OdbcCommand sealed : System::Data::Common::DbCommand, ICloneable
public ref class OdbcCommand sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbCommand
public sealed class OdbcCommand : System.Data.Common.DbCommand, ICloneable
public sealed class OdbcCommand : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbCommand
type OdbcCommand = class
    inherit DbCommand
    interface ICloneable
type OdbcCommand = class
    inherit Component
    interface ICloneable
    interface IDbCommand
    interface IDisposable
Public NotInheritable Class OdbcCommand
Inherits DbCommand
Implements ICloneable
Public NotInheritable Class OdbcCommand
Inherits Component
Implements ICloneable, IDbCommand, IDisposable
继承
继承
实现

示例

以下示例使用 ExecuteNonQuery

public void InsertRow(string connectionString, string insertSQL)
{
    using (OdbcConnection connection =
               new OdbcConnection(connectionString))
    {
        // The insertSQL string contains a SQL statement that
        // inserts a new row in the source table.
        OdbcCommand command = new OdbcCommand(insertSQL, connection);

        // Open the connection and execute the insert command.
        try
        {
            connection.Open();
            command.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // The connection is automatically closed when the
        // code exits the using block.
    }
Public Sub InsertRow(ByVal connectionString As String, _
    ByVal insertSQL As String)

    Using connection As New OdbcConnection(connectionString)
        ' The insertSQL string contains a SQL statement that
        ' inserts a new row in the source table.
        Dim command As New OdbcCommand(insertSQL, connection)

        ' Open the connection and execute the insert command.
        Try
            connection.Open()
            command.ExecuteNonQuery()
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
        ' The connection is automatically closed when the
        ' code exits the Using block.
    End Using
End Sub

注解

OdbcCommand 类提供以下方法,用于针对数据源执行命令:

项目 描述
ExecuteReader 执行返回行的命令。
ExecuteNonQuery 执行 SQL INSERT、DELETE、UPDATE 和 SET 语句等命令。
ExecuteScalar 从数据库检索单个值,例如聚合值。

可以重置 CommandText 属性并重复使用 OdbcCommand 对象。 但是,必须先关闭 OdbcDataReader,然后才能执行新的或以前的命令。

如果执行命令会导致致命 OdbcException(例如 SQL Server 严重级别为 20 或更高),OdbcConnection 可能会关闭。 但是,用户可以重新打开连接并继续。

构造函数

OdbcCommand()

初始化 OdbcCommand 类的新实例。

OdbcCommand(String)

使用查询的文本初始化 OdbcCommand 类的新实例。

OdbcCommand(String, OdbcConnection)

使用查询的文本和 OdbcConnection 对象初始化 OdbcCommand 类的新实例。

OdbcCommand(String, OdbcConnection, OdbcTransaction)

使用查询文本、OdbcConnection 对象和 Transaction初始化 OdbcCommand 类的新实例。

属性

CanRaiseEvents

获取一个值,该值指示组件是否可以引发事件。

(继承自 Component)
CommandText

获取或设置要针对数据源执行的 SQL 语句或存储过程。

CommandTimeout

获取或设置在终止尝试执行命令并生成错误之前(以秒为单位)的等待时间。

CommandType

获取或设置一个值,该值指示如何解释 CommandText 属性。

Connection

获取或设置此 OdbcCommand实例使用的 OdbcConnection

Container

获取包含 ComponentIContainer

(继承自 Component)
DbConnection

获取或设置此 DbCommand使用的 DbConnection

(继承自 DbCommand)
DbParameterCollection

获取 DbParameter 对象的集合。

(继承自 DbCommand)
DbTransaction

获取或设置执行此 DbCommand 对象的 DbTransaction

(继承自 DbCommand)
DesignMode

获取一个值,该值指示 Component 当前是否处于设计模式。

(继承自 Component)
DesignTimeVisible

获取或设置一个值,该值指示命令对象是否应在自定义接口控件中可见。

Events

获取附加到此 Component的事件处理程序的列表。

(继承自 Component)
Parameters

获取 OdbcParameterCollection

Site

获取或设置 ComponentISite

(继承自 Component)
Transaction

获取或设置执行 OdbcCommandOdbcTransaction

UpdatedRowSource

获取或设置一个值,该值指定 Update 方法如何将命令结果应用于 DataRow

方法

Cancel()

尝试取消执行 OdbcCommand

CreateDbParameter()

创建 DbParameter 对象的新实例。

(继承自 DbCommand)
CreateObjRef(Type)

创建一个对象,其中包含生成用于与远程对象通信的代理所需的所有相关信息。

(继承自 MarshalByRefObject)
CreateParameter()

创建 OdbcParameter 对象的新实例。

Dispose()

执行与释放、释放或重置非托管资源关联的应用程序定义任务。

(继承自 DbCommand)
Dispose()

释放 Component使用的所有资源。

(继承自 Component)
Dispose(Boolean)

释放 DbCommand 使用的非托管资源,并选择性地释放托管资源。

(继承自 DbCommand)
Dispose(Boolean)

释放 Component 使用的非托管资源,并选择性地释放托管资源。

(继承自 Component)
DisposeAsync()

异步地将命令对象浸入。

(继承自 DbCommand)
Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
ExecuteDbDataReader(CommandBehavior)

对其连接执行命令,返回可用于访问结果的 DbDataReader

(继承自 DbCommand)
ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

提供程序应实现此方法,为 ExecuteReader 重载提供非默认实现。

默认实现调用同步 ExecuteReader() 方法并返回已完成的任务,从而阻止调用线程。 如果传递已取消的取消令牌,则默认实现将返回已取消的任务。 ExecuteReader 引发的异常将通过返回的任务异常属性进行通信。

此方法接受一个取消令牌,该令牌可用于请求提前取消操作。 实现可能会忽略此请求。

(继承自 DbCommand)
ExecuteNonQuery()

针对 Connection 执行 SQL 语句,并返回受影响的行数。

ExecuteNonQueryAsync()

ExecuteNonQuery()的异步版本,它对其连接对象执行命令,返回受影响的行数。

使用 CancellationToken.None 调用 ExecuteNonQueryAsync(CancellationToken)

(继承自 DbCommand)
ExecuteNonQueryAsync(CancellationToken)

这是 ExecuteNonQuery()的异步版本。 提供程序应使用适当的实现替代。 可以选择忽略取消令牌。

默认实现调用同步 ExecuteNonQuery() 方法并返回已完成的任务,从而阻止调用线程。 如果传递已取消的取消令牌,则默认实现将返回已取消的任务。 ExecuteNonQuery() 引发的异常将通过返回的任务异常属性进行通信。

在返回的任务完成之前,请勿调用 DbCommand 对象的其他方法和属性。

(继承自 DbCommand)
ExecuteReader()

CommandText 发送到 Connection 并生成 OdbcDataReader

ExecuteReader(CommandBehavior)

CommandText 发送到 Connection,并使用其中一个 CommandBehavior 值生成 OdbcDataReader

ExecuteReaderAsync()

ExecuteReader的异步版本,它对其连接执行命令,返回可用于访问结果的 DbDataReader

使用 CancellationToken.None 调用 ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

(继承自 DbCommand)
ExecuteReaderAsync(CancellationToken)

ExecuteReader的异步版本,它对其连接执行命令,返回可用于访问结果的 DbDataReader

调用 ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

(继承自 DbCommand)
ExecuteReaderAsync(CommandBehavior)

ExecuteReader的异步版本,它对其连接执行命令,返回可用于访问结果的 DbDataReader

调用 ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

(继承自 DbCommand)
ExecuteReaderAsync(CommandBehavior, CancellationToken)

调用 ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

(继承自 DbCommand)
ExecuteScalar()

执行查询,并返回查询返回的结果集中第一行的第一列。 忽略其他列或行。

ExecuteScalarAsync()

ExecuteScalar()的异步版本,该版本执行命令并返回第一个返回的结果集中第一行的第一列。 将忽略所有其他列、行和结果集。

使用 CancellationToken.None 调用 ExecuteScalarAsync(CancellationToken)

(继承自 DbCommand)
ExecuteScalarAsync(CancellationToken)

这是 ExecuteScalar()的异步版本。 提供程序应使用适当的实现替代。 可以选择忽略取消令牌。

默认实现调用同步 ExecuteScalar() 方法并返回已完成的任务,从而阻止调用线程。 如果传递已取消的取消令牌,则默认实现将返回已取消的任务。 ExecuteScalar 引发的异常将通过返回的任务异常属性进行通信。

在返回的任务完成之前,请勿调用 DbCommand 对象的其他方法和属性。

(继承自 DbCommand)
GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetLifetimeService()
已过时.

检索控制此实例的生存期策略的当前生存期服务对象。

(继承自 MarshalByRefObject)
GetService(Type)

返回一个对象,该对象代表由 Component 或其 Container提供的服务。

(继承自 Component)
GetType()

获取当前实例的 Type

(继承自 Object)
InitializeLifetimeService()
已过时.

获取生存期服务对象来控制此实例的生存期策略。

(继承自 MarshalByRefObject)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
MemberwiseClone(Boolean)

创建当前 MarshalByRefObject 对象的浅表副本。

(继承自 MarshalByRefObject)
Prepare()

在数据源中创建命令的已准备或编译版本。

PrepareAsync(CancellationToken)

在数据源上异步创建命令的已准备(或已编译)版本。

(继承自 DbCommand)
ResetCommandTimeout()

CommandTimeout 属性重置为默认值。

ToString()

返回一个 String,其中包含 Component的名称(如果有)。 不应重写此方法。

(继承自 Component)

事件

Disposed

当组件通过调用 Dispose() 方法释放时发生。

(继承自 Component)

显式接口实现

ICloneable.Clone()

有关此成员的说明,请参阅 Clone()

IDbCommand.Connection

获取或设置此 IDbCommand实例使用的 IDbConnection

(继承自 DbCommand)
IDbCommand.CreateParameter()

创建 IDbDataParameter 对象的新实例。

IDbCommand.CreateParameter()

创建 IDbDataParameter 对象的新实例。

(继承自 DbCommand)
IDbCommand.ExecuteReader()

此 API 支持产品基础结构,不能在代码中直接使用。

针对 Connection 执行 CommandText 并生成 IDataReader

IDbCommand.ExecuteReader()

针对 Connection 执行 CommandText 并生成 IDataReader

(继承自 DbCommand)
IDbCommand.ExecuteReader(CommandBehavior)

此 API 支持产品基础结构,不能在代码中直接使用。

针对 Connection执行 CommandText,并使用指定的行为生成 IDataReader

IDbCommand.ExecuteReader(CommandBehavior)

针对 Connection执行 CommandText,并使用其中一个 CommandBehavior 值生成 IDataReader

(继承自 DbCommand)
IDbCommand.Parameters

获取 IDataParameterCollection

(继承自 DbCommand)
IDbCommand.Transaction

获取或设置执行此 DbCommand 对象的 DbTransaction

(继承自 DbCommand)

扩展方法

ConfigureAwait(IAsyncDisposable, Boolean)

配置如何执行从异步可释放项返回的任务的 await。

适用于

另请参阅