次の方法で共有


IDbCommand インターフェイス

データ ソースに接続されている間に実行される SQL ステートメントを表します。リレーショナル データベースにアクセスする .NET Framework データ プロバイダによって実装されます。

この型のすべてのメンバの一覧については、IDbCommand メンバ を参照してください。

System.IDisposable
   System.Data.IDbCommand

Public Interface IDbCommand
   Inherits IDisposable
[C#]
public interface IDbCommand : IDisposable
[C++]
public __gc __interface IDbCommand : public IDisposable
[JScript]
public interface IDbCommand implements IDisposable

IDbCommand を実装するクラス

クラス 説明
OdbcCommand データ ソースに対して実行する SQL ステートメントまたはストアド プロシージャを表します。このクラスは継承できません。
OleDbCommand データ ソースに対して実行する SQL ステートメントまたはストアド プロシージャを表します。
OracleCommand データベースに対して実行する SQL ステートメントまたはストアド プロシージャを表します。このクラスは継承できません。
SqlCeCommand データ ソースに対して実行する SQL ステートメントを表します。
SqlCommand SQL Server データベースに対して実行する Transact-SQL ステートメントまたはストアド プロシージャを表します。このクラスは継承できません。

解説

IDbCommand インターフェイスによって、継承クラスはデータ ソースで実行する SQL ステートメントを表す Command クラスを実装できます。Command クラスの詳細については、「 コマンドの実行 」を参照してください。.NET Framework データ プロバイダの実装の詳細については、「 .NET Framework データ プロバイダの実装 」を参照してください。

アプリケーションでは IDbCommand インターフェイスのインスタンスは直接作成されず、 IDbCommand を継承するクラスのインスタンスが作成されます。

IDbCommand を継承するクラスは、すべての継承されたメンバを実装する必要があり、通常、プロバイダ固有の機能を追加する追加メンバを定義する必要があります。たとえば、 IDbCommand インターフェイスが ExecuteNonQuery メソッドを定義します。次に、 SqlCommand クラスがこのメソッドを継承し、 ExecuteXmlReader メソッドを定義します。

実装時の注意: .NET Framework データ プロバイダ間に一貫性を持たせるために、継承クラスには PrvClassname という形式の名前を付けてください。 Prv は各 .NET Framework データ プロバイダの名前空間内のすべてのクラスに付けられるプリフィックスです。たとえば、 SqlSystem.Data.SqlClient 名前空間内の SqlCommand クラスのプリフィックスです。

IDbCommand インターフェイスから継承する場合は、次のコンストラクタを実装する必要があります。

項目 説明
PrvCommand() PrvCommand クラスの新しいインスタンスを初期化します。
PrvCommand(string cmdText) クエリのテキストを使用して、PrvCommand クラスの新しいインスタンスを初期化します。
PrvCommand(string cmdText, PrvConnection connection) クエリのテキストと PrvConnection を使用して、PrvCommand クラスの新しいインスタンスを初期化します。
PrvCommand(string cmdText, PrvConnection connection, PrvTransaction transaction) クエリのテキスト、PrvConnection、および PrvTransaction を使用して、PrvCommand クラスの新しいインスタンスを初期化します。

使用例

[Visual Basic, C#, C++] 派生クラス SqlConnectionSqlCommand 、および SqlDataReader のインスタンスを作成する例を次に示します。この例では、データを読み込み、それをコンソールに書き込みます。最後に、この例では SqlDataReader を閉じてから、 SqlConnection を閉じます。

 
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++] 
public:
void ReadMyData(String* myConnString) 
{
   String* mySelectQuery = S"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(S"{0}, {1}", __box(myReader->GetInt32(0)), myReader->GetString(1));
     }
    }
    __finally 
    {
    // always call Close when done reading.
    myReader->Close();
    // always call Close when done reading.
    myConnection->Close();
    }
 }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Data

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

アセンブリ: System.Data (System.Data.dll 内)

参照

IDbCommand メンバ | System.Data 名前空間 | DbDataAdapter | IDbConnection | OleDbCommand | SqlCommand