IDbCommand インターフェイス

定義

データ ソースへの接続中に実行される SQL ステートメントを表し、リレーショナル データベースにアクセスする .NET データ プロバイダーにより実装されます。Represents an SQL statement that is executed while connected to a data source, and is implemented by .NET 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
派生
実装

次の例では、派生クラス、、、およびのインスタンスを作成し SqlConnection SqlCommand 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. 最後に、この例では、を閉じて SqlDataReader から、を閉じ SqlConnection ます。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. たとえば、 Sql は名前空間のクラスのプレフィックスです SqlCommand System.Data.SqlClientFor 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(string 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 データ プロバイダーの Command オブジェクトが実行されるトランザクションを取得または設定します。Gets or sets the transaction within which the Command object of a .NET 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 データ プロバイダーの Connection オブジェクトに対して SQL ステートメントを実行し、影響を受ける行の数を返します。Executes an SQL statement against the Connection object of a .NET 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.

適用対象

こちらもご覧ください