IDbCommand インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
データ ソースへの接続中に実行され、リレーショナル データベースにアクセスする.NET データ プロバイダーによって実装される SQL ステートメントを表します。
public interface class IDbCommand : IDisposable
public interface IDbCommand : IDisposable
type IDbCommand = interface
interface IDisposable
Public Interface IDbCommand
Implements IDisposable
- 派生
- 実装
例
次の例では、派生クラス、 SqlConnection、 SqlCommand、および SqlDataReaderのインスタンスを作成します。 この例では、データを読み取り、コンソールに書き込みます。 最後に、 SqlDataReader、 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 クラスを実装できます。 コマンド クラスの詳細については、「 コマンドの実行」を参照してください。
アプリケーションは、 IDbCommand インターフェイスのインスタンスを直接作成するのではなく、 IDbCommand インターフェイスを実装するクラスのインスタンスを作成します。
IDbCommandを実装するクラスは、そのすべてのメンバーを実装し、通常はプロバイダー固有の機能を追加するために追加のメンバーを定義する必要があります。 たとえば、 IDbCommand インターフェイスは、 ExecuteNonQuery メソッドを定義します。 さらに、 SqlCommand クラスはこのメソッドを継承し、 ExecuteXmlReader メソッドも定義します。
注意 (実装者)
.NET Framework データ プロバイダー間の一貫性を高めるために、継承クラスに PrvClassname 形式で名前を付けます。ここで、 Prv は、特定の .NET Framework データ プロバイダー名前空間内のすべてのクラスに与えられる統一プレフィックスです。 たとえば、Sqlは、SqlCommand名前空間のSystem.Data.SqlClient クラスのプレフィックスです。
IDbCommand インターフェイスから継承する場合は、次のコンストラクターを実装する必要があります。
| 項目 | 説明 |
|---|---|
| PrvCommand() | PrvCommand クラスの新しいインスタンスを初期化します。 |
| PrvCommand(string cmdText) | クエリのテキストを使用して、PrvCommand クラスの新しいインスタンスを初期化します。 |
| PrvCommand(string cmdText, PrvConnection connection) | クエリのテキストと PrvConnection を使用して、PrvCommand クラスの新しいインスタンスを初期化します。 |
| PrvCommand(string cmdText, PrvConnection connection, PrvTransaction transaction) | クエリのテキスト、PrvConnection、および PrvTransaction を使用して、PrvCommand クラスの新しいインスタンスを初期化します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| CommandText |
データ ソースに対して実行するテキスト コマンドを取得または設定します。 |
| CommandTimeout |
コマンドの実行の試行を終了してエラーを生成するまでの待機時間 (秒単位) を取得または設定します。 |
| CommandType |
CommandText プロパティの解釈方法を示すか指定します。 |
| Connection |
IDbConnectionのこのインスタンスによって使用されるIDbCommandを取得または設定します。 |
| Parameters |
IDataParameterCollection を取得します。 |
| Transaction |
.NET データ プロバイダーの |
| UpdatedRowSource |
DbDataAdapterのUpdate(DataSet) メソッドで使用する場合に、コマンドの結果をDataRowに適用する方法を取得または設定します。 |
メソッド
| 名前 | 説明 |
|---|---|
| Cancel() |
IDbCommandの実行を取り消そうとします。 |
| CreateParameter() |
IDbDataParameter オブジェクトの新しいインスタンスを作成します。 |
| Dispose() |
アンマネージド リソースの解放、解放、またはリセットに関連付けられているアプリケーション定義のタスクを実行します。 (継承元 IDisposable) |
| ExecuteNonQuery() |
.NET データ プロバイダーの |
| ExecuteReader() |
CommandTextに対してConnectionを実行し、IDataReaderをビルドします。 |
| ExecuteReader(CommandBehavior) |
CommandTextに対してConnectionを実行し、IDataReader値のいずれかを使用してCommandBehaviorをビルドします。 |
| ExecuteScalar() |
クエリを実行し、クエリによって返された結果セットの最初の行の最初の列を返します。 追加の列または行は無視されます。 |
| Prepare() |
準備済み (またはコンパイル済み) バージョンのコマンドをデータ ソースに作成します。 |