IDataAdapter インターフェイス

定義

オブジェクトが DataAdapter を実装することを許可し、 DataSet の塗りつぶしと更新、およびデータ ソースの更新に使用される一連のメソッドとマッピング アクション関連のプロパティを表します。

IDbDataAdapter インスタンスは、テキスト コマンド (Transact-SQL など) を持つリレーショナル データベースである (または似ている) データ ソース用ですが、IDataAdapter インスタンスでは任意の種類のデータ ソースを使用できます。

public interface class IDataAdapter
public interface IDataAdapter
type IDataAdapter = interface
Public Interface IDataAdapter
派生

次の例では、派生クラス、 SqlCommandSqlDataAdapter、および SqlConnectionを使用して、データベースからレコードを選択します。 その後、塗りつぶされた DataSet が返されます。 これを行うには、初期化された DataSet、接続文字列、および Transact-SQL SELECT ステートメントであるクエリ文字列がメソッドに渡されます。

private static DataSet SelectRows(DataSet dataset,
    string connectionString,string queryString)
{
    using (SqlConnection connection =
        new SqlConnection(connectionString))
    {
        SqlDataAdapter adapter = new SqlDataAdapter();
        adapter.SelectCommand = new SqlCommand(
            queryString, connection);
        adapter.Fill(dataset);
        return dataset;
    }
}
Public Function SelectRows( _
    ByVal dataSet As DataSet, ByVal connectionString As String, _
    ByVal queryString As String) As DataSet

    Using connection As New SqlConnection(connectionString)
        Dim adapter As New SqlDataAdapter()
        adapter.SelectCommand = New SqlCommand( _
            queryString, connection)
        adapter.Fill(dataSet)
        Return dataSet
    End Using
End Function

注釈

IDataAdapter インターフェイスを使用すると、継承クラスで DataAdapter クラスを実装できます。これは、データ ソースとDataSetの間のブリッジを表します。 DataAdapter クラスの詳細については、「 DataAdapter からの DataSet の設定」を参照してください。

アプリケーションは、 IDataAdapter インターフェイスのインスタンスを直接作成するのではなく、 IDataAdapterを継承するクラスのインスタンスを実装します。

継承 IDataAdapter クラスは、継承されたメンバーを実装する必要があり、通常はプロバイダー固有の機能を追加するために追加のメンバーを定義します。 たとえば、IDataAdapter インターフェイスは、パラメーターとしてFillを受け取るDataSet メソッドを定義します。 さらに、 OleDbDataAdapter クラスは、 Fill メソッドを継承し、ADO Recordset オブジェクトをパラメーターとして受け取る Fill メソッドの 2 つの追加オーバーロードも定義します。

注意 (実装者)

.NET Framework データ プロバイダー間の整合性を高めるために、継承クラスに Prv DataAdapter という形式で名前を付けます。ここで、Prv は、特定の .NET Framework データ プロバイダー名前空間内のすべてのクラスに与えられる統一されたプレフィックスです。 たとえば、Sqlは、SqlDataAdapter名前空間のSystem.Data.SqlClient クラスのプレフィックスです。

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

項目 説明
PrvDataAdapter() PrvDataAdapter クラスの新しいインスタンスを初期化します。
PrvDataAdapter(PrvCommand selectCommand) 指定した SQL SELECT ステートメントを使用して、PrvDataAdapter クラスの新しいインスタンスを初期化します。
PrvDataAdapter(string selectCommandText, string selectConnectionString) SQL SELECT ステートメントと接続文字列を使用して、PrvDataAdapter クラスの新しいインスタンスを初期化します。
PrvDataAdapter(string selectCommandText, PrvConnection selectConnection) SQL SELECT ステートメントと PrvConnection オブジェクトを使用して、PrvDataAdapter クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
MissingMappingAction

マップされていないソース テーブルまたは列をソース名と共に渡してフィルター処理するか、エラーを発生させるかを示します。値の指定も可能です。

MissingSchemaAction

不足しているソース テーブル、列、およびそれらのリレーションシップをデータセット スキーマに追加するか、無視するか、エラーが発生するかを示します。

TableMappings

ソース テーブルをデータセット テーブルにマップする方法を示すコレクションを取得します。

メソッド

名前 説明
Fill(DataSet)

DataSet名を使用してデータ ソース内の行と一致するようにDataSetの行を追加または更新し、"Table" という名前のDataTableを作成します。

FillSchema(DataSet, SchemaType)

指定したDataTableに "Table" という名前のDataSetを追加し、指定したSchemaTypeに基づいてデータ ソース内のスキーマと一致するようにスキーマを構成します。

GetFillParameters()

SQL SELECT ステートメントの実行時にユーザーが設定したパラメーターを取得します。

Update(DataSet)

"Table" という名前のDataSetから、指定したDataTableに挿入、更新、または削除された行ごとに、それぞれの INSERT、UPDATE、または DELETE ステートメントを呼び出します。

適用対象