OdbcCommand Class

Definition

Represents an SQL statement or stored procedure to execute against a data source. This class cannot be inherited.

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
Inheritance
OdbcCommand
Inheritance
Inheritance
Implements

Examples

The following example uses 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

Remarks

The OdbcCommand class provides the following methods for executing commands against a data source:

Item Description
ExecuteReader Executes commands that return rows.
ExecuteNonQuery Executes commands such as SQL INSERT, DELETE, UPDATE, and SET statements.
ExecuteScalar Retrieves a single value, for example, an aggregate value, from a database.

You can reset the CommandText property and reuse the OdbcCommand object. However, you must close the OdbcDataReader before you can execute a new or previous command.

If execution of the command causes a fatal OdbcException such as a SQL Server severity level of 20 or more, OdbcConnection may close. However, the user can reopen the connection and continue.

Constructors

OdbcCommand()

Initializes a new instance of the OdbcCommand class.

OdbcCommand(String)

Initializes a new instance of the OdbcCommand class with the text of the query.

OdbcCommand(String, OdbcConnection)

Initializes a new instance of the OdbcCommand class with the text of the query and an OdbcConnection object.

OdbcCommand(String, OdbcConnection, OdbcTransaction)

Initializes a new instance of the OdbcCommand class with the text of the query, an OdbcConnection object, and the Transaction.

Properties

CanRaiseEvents

Gets a value indicating whether the component can raise an event.

(Inherited from Component)
CommandText

Gets or sets the SQL statement or stored procedure to execute against the data source.

CommandTimeout

Gets or sets the wait time (in seconds) before terminating an attempt to execute a command and generating an error.

CommandType

Gets or sets a value that indicates how the CommandText property is interpreted.

Connection

Gets or sets the OdbcConnection used by this instance of the OdbcCommand.

Container

Gets the IContainer that contains the Component.

(Inherited from Component)
DbConnection

When overridden in a derived class, gets or sets the DbConnection used by this DbCommand.

(Inherited from DbCommand)
DbParameterCollection

When overridden in a derived class, gets the collection of DbParameter objects.

(Inherited from DbCommand)
DbTransaction

When overridden in a derived class, gets or sets the DbTransaction within which this DbCommand object executes.

(Inherited from DbCommand)
DesignMode

Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
DesignTimeVisible

Gets or sets a value that indicates whether the command object should be visible in a customized interface control.

Events

Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
Parameters

Gets the OdbcParameterCollection.

Site

Gets or sets the ISite of the Component.

(Inherited from Component)
Transaction

Gets or sets the OdbcTransaction within which the OdbcCommand executes.

UpdatedRowSource

Gets or sets a value that specifies how the Update method should apply command results to the DataRow.

Methods

Cancel()

Tries to cancel the execution of an OdbcCommand.

CreateDbParameter()

When overridden in a derived class, creates a new instance of a DbParameter object.

(Inherited from DbCommand)
CreateObjRef(Type)

Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
CreateParameter()

Creates a new instance of an OdbcParameter object.

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

(Inherited from DbCommand)
Dispose()

Releases all resources used by the Component.

(Inherited from Component)
Dispose(Boolean)

Releases the unmanaged resources used by the DbCommand and optionally releases the managed resources.

(Inherited from DbCommand)
Dispose(Boolean)

Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Inherited from Component)
DisposeAsync()

Asynchronously diposes the command object.

(Inherited from DbCommand)
Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
ExecuteDbDataReader(CommandBehavior)

When overridden in a derived class, executes the command text against the connection.

(Inherited from DbCommand)
ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

Providers should implement this method to provide a non-default implementation for ExecuteReader overloads.

The default implementation invokes the synchronous ExecuteReader() method and returns a completed task, blocking the calling thread. The default implementation will return a cancelled task if passed an already cancelled cancellation token. Exceptions thrown by ExecuteReader will be communicated via the returned Task Exception property.

This method accepts a cancellation token that can be used to request the operation to be cancelled early. Implementations may ignore this request.

(Inherited from DbCommand)
ExecuteNonQuery()

Executes an SQL statement against the Connection and returns the number of rows affected.

ExecuteNonQueryAsync()

An asynchronous version of ExecuteNonQuery(), which executes a SQL statement against a connection object.

Invokes ExecuteNonQueryAsync(CancellationToken) with CancellationToken.None.

(Inherited from DbCommand)
ExecuteNonQueryAsync(CancellationToken)

This is the asynchronous version of ExecuteNonQuery(). Providers should override with an appropriate implementation. The cancellation token may optionally be ignored.

The default implementation invokes the synchronous ExecuteNonQuery() method and returns a completed task, blocking the calling thread. The default implementation will return a cancelled task if passed an already cancelled cancellation token. Exceptions thrown by ExecuteNonQuery() will be communicated via the returned Task Exception property.

Do not invoke other methods and properties of the DbCommand object until the returned Task is complete.

(Inherited from DbCommand)
ExecuteReader()

Sends the CommandText to the Connection and builds an OdbcDataReader.

ExecuteReader(CommandBehavior)

Sends the CommandText to the Connection, and builds an OdbcDataReader using one of the CommandBehavior values.

ExecuteReaderAsync()

An asynchronous version of ExecuteReader, which executes the CommandText against the Connection and returns a DbDataReader.

Invokes ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) with CancellationToken.None.

(Inherited from DbCommand)
ExecuteReaderAsync(CancellationToken)

An asynchronous version of ExecuteReader, which executes the CommandText against the Connection and returns a DbDataReader. This method propagates a notification that operations should be canceled.

Invokes ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken).

(Inherited from DbCommand)
ExecuteReaderAsync(CommandBehavior)

An asynchronous version of ExecuteReader, which executes the CommandText against the Connection and returns a DbDataReader.

Invokes ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken).

(Inherited from DbCommand)
ExecuteReaderAsync(CommandBehavior, CancellationToken)

Invokes ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken).

(Inherited from DbCommand)
ExecuteScalar()

Executes the query, and returns the first column of the first row in the result set returned by the query. Additional columns or rows are ignored.

ExecuteScalarAsync()

An asynchronous version of ExecuteScalar(), which executes the query and returns the first column of the first row in the result set returned by the query. All other columns and rows are ignored.

Invokes ExecuteScalarAsync(CancellationToken) with CancellationToken.None.

(Inherited from DbCommand)
ExecuteScalarAsync(CancellationToken)

This is the asynchronous version of ExecuteScalar(). Providers should override with an appropriate implementation. The cancellation token may optionally be ignored.

The default implementation invokes the synchronous ExecuteScalar() method and returns a completed task, blocking the calling thread. The default implementation will return a cancelled task if passed an already cancelled cancellation token. Exceptions thrown by ExecuteScalar will be communicated via the returned Task Exception property.

Do not invoke other methods and properties of the DbCommand object until the returned Task is complete.

(Inherited from DbCommand)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetLifetimeService()

Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetService(Type)

Returns an object that represents a service provided by the Component or by its Container.

(Inherited from Component)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService()

Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean)

Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
Prepare()

Creates a prepared or compiled version of the command at the data source.

PrepareAsync(CancellationToken)

Asynchronously creates a prepared (or compiled) version of the command on the data source.

(Inherited from DbCommand)
ResetCommandTimeout()

Resets the CommandTimeout property to the default value.

ToString()

Returns a string that represents the current object.

(Inherited from Object)
ToString()

Returns a String containing the name of the Component, if any. This method should not be overridden.

(Inherited from Component)

Events

Disposed

Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)

Explicit Interface Implementations

ICloneable.Clone()

For a description of this member, see Clone().

IDbCommand.Connection

Gets or sets the IDbConnection used by this instance of the IDbCommand.

(Inherited from DbCommand)
IDbCommand.CreateParameter()
IDbCommand.CreateParameter()

Creates a new instance of an IDbDataParameter object.

(Inherited from DbCommand)
IDbCommand.ExecuteReader()

Executes the CommandText against the Connection and builds an IDataReader.

IDbCommand.ExecuteReader()

Executes the CommandText against the Connection and builds an IDataReader.

(Inherited from DbCommand)
IDbCommand.ExecuteReader(CommandBehavior)

Executes the CommandText against the Connection, and builds an IDataReader using the specified behavior.

IDbCommand.ExecuteReader(CommandBehavior)

Executes the CommandText against the Connection, and builds an IDataReader using one of the CommandBehavior values.

(Inherited from DbCommand)
IDbCommand.Parameters

Gets the IDataParameterCollection.

(Inherited from DbCommand)
IDbCommand.Transaction

Gets or sets the DbTransaction within which this DbCommand object executes.

(Inherited from DbCommand)

Applies to

See also