IDbCommand インターフェイス

定義

データ ソースに接続しながら実行される SQL ステートメントを表し、リレーショナル データベースにアクセスする .NET Framework データ プロバイダーにより実装されます。Represents an SQL statement that is executed while connected to a data source, and is implemented by .NET Framework data providers that access relational databases.

public interface class IDbCommand : IDisposable
public interface IDbCommand : IDisposable
type IDbCommand = interface
    interface IDisposable
Public Interface IDbCommand
Implements IDisposable
派生
実装

次の例では、派生クラス、SqlConnectionSqlCommand、および SqlDataReaderのインスタンスを作成します。The following example creates instances of the derived classes, SqlConnection, SqlCommand, and SqlDataReader. この例では、データを読み取り、コンソールに書き込みます。The example reads through the data, writing it to the console. 最後に、この例では SqlDataReaderSqlConnection を閉じます。Finally, the example closes the SqlDataReader, then the SqlConnection.

private static void ReadOrderData(string connectionString)
{
    string queryString = 
        "SELECT OrderID, CustomerID FROM dbo.Orders;";
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(
            queryString, connection);
        connection.Open();
        using(SqlDataReader reader = command.ExecuteReader())
        {
            while (reader.Read())
            {
                Console.WriteLine(String.Format("{0}, {1}",
                    reader[0], reader[1]));
            }
        }
    }
}
Public Sub ReadOrderData(ByVal connectionString As String)
    Dim queryString As String = _
        "SELECT OrderID, CustomerID FROM dbo.Orders;"
    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)
        connection.Open()
        Dim reader As SqlDataReader = command.ExecuteReader()
        Try
            While reader.Read()
                Console.WriteLine(String.Format("{0}, {1}", _
                    reader(0), reader(1)))
            End While
        Finally
            ' Always call Close when done reading.
            reader.Close()
        End Try
    End Using
End Sub

注釈

IDbCommand インターフェイスは、継承クラスが、データソースで実行される SQL ステートメントを表す Command クラスを実装できるようにします。The IDbCommand interface enables an inheriting class to implement a Command class, which represents an SQL statement that is executed at a data source. コマンドクラスの詳細については、「コマンドの実行」を参照してください。For more information about Command classes, see Executing a Command.

アプリケーションは、IDbCommand インターフェイスのインスタンスを直接作成しませんが、IDbCommand インターフェイスを実装するクラスのインスタンスを作成します。An application does not create an instance of the IDbCommand interface directly, but creates an instance of a class that implements the IDbCommand interface.

IDbCommand を実装するクラスは、そのすべてのメンバーを実装する必要があり、通常は、プロバイダー固有の機能を追加するための追加メンバーを定義します。Classes that implement IDbCommand must implement all its members, and typically define additional members to add provider-specific functionality. たとえば、IDbCommand インターフェイスは、ExecuteNonQuery メソッドを定義します。For example, the IDbCommand interface defines the ExecuteNonQuery method. 次に、SqlCommand クラスはこのメソッドを継承し、ExecuteXmlReader メソッドも定義します。In turn, the SqlCommand class inherits this method, and also defines the ExecuteXmlReader method.

注意 (実装者)

.NET Framework データプロバイダー間の一貫性を高めるには、PrvClassname の形式で継承クラスに名前を付けます。 Prv は、特定の .NET Framework データプロバイダーの名前空間のすべてのクラスに指定された一様なプレフィックスです。To promote consistency among .NET Framework data providers, name the inheriting class in the form PrvClassname where Prv is the uniform prefix given to all classes in a specific .NET Framework data provider namespace. たとえば、SqlSystem.Data.SqlClient 名前空間の SqlCommand クラスのプレフィックスです。For example, Sql is the prefix of the SqlCommand class in the System.Data.SqlClient namespace.

IDbCommand インターフェイスから継承する場合は、次のコンストラクターを実装する必要があります。When you inherit from the IDbCommand interface, you should implement the following constructors:

アイテムItem 説明Description
PrvCommand()PrvCommand() PrvCommand クラスの新しいインスタンスを初期化します。Initializes a new instance of the PrvCommand class.
PrvCommand (文字列 cmdText)PrvCommand(string cmdText) クエリのテキストを使用して、PrvCommand クラスの新しいインスタンスを初期化します。Initializes a new instance of the PrvCommand class with the text of the query.
PrvCommand (文字列 cmdText、PrvConnection connection)PrvCommand(string cmdText, PrvConnection connection) クエリのテキストと PrvConnection を使用して、PrvCommand クラスの新しいインスタンスを初期化します。Initializes a new instance of the PrvCommand class with the text of the query and a PrvConnection.
PrvCommand (文字列 cmdText、PrvConnection connection、PrvTransaction transaction)PrvCommand(string cmdText, PrvConnection connection, PrvTransaction transaction) PrvConnection および PrvTransaction のクエリのテキストを使用して、PrvCommand クラスの新しいインスタンスを初期化します。Initializes a new instance of the PrvCommand class with the text of the query, a PrvConnection, and the PrvTransaction.

プロパティ

CommandText

データ ソースに対して実行するテキスト コマンドを取得または設定します。Gets or sets the text command to run against the data source.

CommandTimeout

コマンド実行の試行を終了してエラーを生成するまでの待機時間 (秒単位) を取得または設定します。Gets or sets the wait time (in seconds) before terminating the attempt to execute a command and generating an error.

CommandType

CommandText プロパティをどのように解釈するかを表示または指定します。Indicates or specifies how the CommandText property is interpreted.

Connection

この IDbCommand のインスタンスで使用する IDbConnection を取得または設定します。Gets or sets the IDbConnection used by this instance of the IDbCommand.

Parameters

IDataParameterCollection を取得します。Gets the IDataParameterCollection.

Transaction

.NET Framework データ プロバイダーの Command オブジェクトが実行されるトランザクションを取得または設定します。Gets or sets the transaction within which the Command object of a .NET Framework data provider executes.

UpdatedRowSource

DbDataAdapterUpdate(DataSet) メソッドで使用するときに、コマンドの結果を DataRow に適用する方法を取得または設定します。Gets or sets how command results are applied to the DataRow when used by the Update(DataSet) method of a DbDataAdapter.

メソッド

Cancel()

IDbCommand の実行のキャンセルを試行します。Attempts to cancels the execution of an IDbCommand.

CreateParameter()

IDbDataParameter オブジェクトの新しいインスタンスを作成します。Creates a new instance of an IDbDataParameter object.

Dispose()

アンマネージ リソースの解放またはリセットに関連付けられているアプリケーション定義のタスクを実行します。Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

(継承元 IDisposable)
ExecuteNonQuery()

.NET Framework データ プロバイダーの Connection オブジェクトに対して SQL ステートメントを実行し、影響を受ける行の数を返します。Executes an SQL statement against the Connection object of a .NET Framework data provider, and returns the number of rows affected.

ExecuteReader()

Connection に対して CommandText を実行し、IDataReader をビルドします。Executes the CommandText against the Connection and builds an IDataReader.

ExecuteReader(CommandBehavior)

Connection に対して CommandText を実行し、CommandBehavior の値のいずれかを使用して IDataReader をビルドします。Executes the CommandText against the Connection, and builds an IDataReader using one of the CommandBehavior values.

ExecuteScalar()

クエリを実行し、そのクエリが返す結果セットの最初の行にある最初の列を返します。Executes the query, and returns the first column of the first row in the resultset returned by the query. 追加の列または行は無視されます。Extra columns or rows are ignored.

Prepare()

コマンドの準備済み (またはコンパイル済み) のバージョンをデータ ソースに作成します。Creates a prepared (or compiled) version of the command on the data source.

適用対象

こちらもご覧ください