次の方法で共有


SqlDataAdapter クラス

定義

DataSetを満たし、SQL Server データベースを更新するために使用される一連のデータ コマンドとデータベース接続を表します。 このクラスは継承できません。

public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable, System::Data::IDbDataAdapter
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable, System.Data.IDbDataAdapter
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable
type SqlDataAdapter = class
    inherit DbDataAdapter
    interface IDbDataAdapter
    interface IDataAdapter
    interface ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable, IDbDataAdapter
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable
継承
実装

次の例では、 SqlCommandSqlDataAdapter、および SqlConnection を使用してデータベースからレコードを選択し、選択した行を DataSet に設定します。 その後、塗りつぶされた 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

注釈

SqlDataAdapterは、データを取得して保存するためのDataSetと SQL Server の間のブリッジとして機能します。 SqlDataAdapterは、Fillマッピングによってこのブリッジを提供します。このブリッジは、データ ソース内のデータと一致するようにDataSet内のデータを変更し、データ ソースに対して適切な Transact-SQL ステートメントを使用して、DataSet内のデータと一致するようにデータ ソース内のデータを変更するUpdateを提供します。 更新は行ごとに実行されます。 挿入、変更、削除された行ごとに、 Update メソッドによって、実行された変更の種類 (InsertUpdate、または Delete) が決定されます。 変更の種類に応じて、 InsertUpdate、または Delete コマンド テンプレートが実行され、変更された行がデータ ソースに反映されます。 SqlDataAdapterDataSetに入力されると、返されたデータに必要なテーブルと列がまだ存在しない場合は作成されます。 ただし、 MissingSchemaAction プロパティが AddWithKey に設定されていない限り、主キー情報は暗黙的に作成されるスキーマには含まれません。 また、FillSchemaを使用してデータを入力する前に、主キー情報を含むDataSetのスキーマを作成SqlDataAdapterがあります。 詳細については、「 DataSet への既存の制約の追加」を参照してください。

SqlDataAdapter は、SQL Server データベースに接続するときのパフォーマンスを向上させるために、 SqlConnectionSqlCommand と組み合わせて使用されます。

SQL Server のストアド プロシージャで、DataAdapter を使用してデータを編集または削除する場合、ストアド プロシージャの定義に SET NOCOUNT ON は使用しないでください。 処理された行数がゼロとして返され、DataAdapter によってコンカレンシーの競合として解釈されてしまいます。 このイベントでDBConcurrencyExceptionがスローされます。

SqlDataAdapterには、データの読み込みと更新を容易にするために、SelectCommandInsertCommandDeleteCommandUpdateCommand、およびTableMappingsプロパティも含まれています。

SqlDataAdapterのインスタンスが作成されると、読み取り/書き込みプロパティが初期値に設定されます。 これらの値の一覧については、 SqlDataAdapter コンストラクターを参照してください。

InsertCommandDeleteCommand、およびUpdateCommandは、パラメーター メカニズムを介して変更されたすべての行の個々の値で自動的に入力される汎用テンプレートです。

Update上のデータ ソースに伝達するすべての列について、パラメーターをInsertCommandUpdateCommand、またはDeleteCommandに追加する必要があります。 DbParameter オブジェクトの SourceColumn プロパティは、列の名前に設定する必要があります。 この設定は、パラメーターの値が手動で設定されていないが、現在処理されている行の特定の列から取得されることを示します。

InvalidOperationExceptionは、Fill メソッドが呼び出され、テーブルにクライアント コンピューターで使用できないユーザー定義型が含まれている場合に発生します。 詳細については、「 CLR ユーザー定義型」を参照してください。

コンストラクター

名前 説明
SqlDataAdapter()

SqlDataAdapter クラスの新しいインスタンスを初期化します。

SqlDataAdapter(SqlCommand)

指定したSqlCommandSelectCommand プロパティとして使用して、SqlDataAdapter クラスの新しいインスタンスを初期化します。

SqlDataAdapter(String, SqlConnection)

SelectCommandSqlConnection オブジェクトを使用して、SqlDataAdapter クラスの新しいインスタンスを初期化します。

SqlDataAdapter(String, String)

SelectCommandと接続文字列を使用して、SqlDataAdapter クラスの新しいインスタンスを初期化します。

フィールド

名前 説明
DefaultSourceTableName

テーブル マッピングに DataAdapter オブジェクトによって使用される既定の名前。

(継承元 DbDataAdapter)

プロパティ

名前 説明
AcceptChangesDuringFill

Fill 操作の実行中にDataTableDataRowが追加された後にAcceptChanges()が呼び出されるかどうかを示す値を取得または設定します。

(継承元 DataAdapter)
AcceptChangesDuringUpdate

Update(DataSet)中にAcceptChanges()を呼び出すかどうかを取得または設定します。

(継承元 DataAdapter)
CanRaiseEvents

コンポーネントがイベントを発生できるかどうかを示す値を取得します。

(継承元 Component)
Container

IContainerを含むComponentを取得します。

(継承元 Component)
ContinueUpdateOnError

行の更新中にエラーが発生したときに例外を生成するかどうかを指定する値を取得または設定します。

(継承元 DataAdapter)
DeleteCommand

データ セットからレコードを削除する Transact-SQL ステートメントまたはストアド プロシージャを取得または設定します。

DesignMode

Componentが現在デザイン モードであるかどうかを示す値を取得します。

(継承元 Component)
Events

この Componentにアタッチされているイベント ハンドラーの一覧を取得します。

(継承元 Component)
FillCommandBehavior

データ アダプターの入力に使用するコマンドの動作を取得または設定します。

(継承元 DbDataAdapter)
FillLoadOption

アダプターがDbDataReaderからDataTableを塗りつぶす方法を決定するLoadOptionを取得または設定します。

(継承元 DataAdapter)
InsertCommand

データ ソースに新しいレコードを挿入する Transact-SQL ステートメントまたはストアド プロシージャを取得または設定します。

MissingMappingAction

受信データに一致するテーブルまたは列がない場合に実行するアクションを決定します。

(継承元 DataAdapter)
MissingSchemaAction

既存の DataSet スキーマが受信データと一致しない場合に実行するアクションを決定します。

(継承元 DataAdapter)
ReturnProviderSpecificTypes

Fill メソッドがプロバイダー固有の値または共通の CLS 準拠値を返す必要があるかどうかを取得または設定します。

(継承元 DataAdapter)
SelectCommand

データ ソース内のレコードを選択するために使用する Transact-SQL ステートメントまたはストアド プロシージャを取得または設定します。

Site

ISiteComponentを取得または設定します。

(継承元 Component)
TableMappings

ソース テーブルと DataTableの間のプライマリ マッピングを提供するコレクションを取得します。

(継承元 DataAdapter)
UpdateBatchSize

サーバーへの各ラウンド トリップで処理される行数を取得または設定します。

UpdateCommand

データ ソース内のレコードを更新するために使用する Transact-SQL ステートメントまたはストアド プロシージャを取得または設定します。

メソッド

名前 説明
AddToBatch(IDbCommand)

現在のバッチに IDbCommand を追加します。

(継承元 DbDataAdapter)
ClearBatch()

バッチからすべての IDbCommand オブジェクトを削除します。

(継承元 DbDataAdapter)
CloneInternals()
古い.
古い.
古い.
古い.

DataAdapterのこのインスタンスのコピーを作成します。

(継承元 DataAdapter)
CreateObjRef(Type)

リモート オブジェクトとの通信に使用されるプロキシの生成に必要なすべての関連情報を含むオブジェクトを作成します。

(継承元 MarshalByRefObject)
CreateRowUpdatedEvent(DataRow, IDbCommand, StatementType, DataTableMapping)

RowUpdatedEventArgs クラスの新しいインスタンスを初期化します。

(継承元 DbDataAdapter)
CreateRowUpdatingEvent(DataRow, IDbCommand, StatementType, DataTableMapping)

RowUpdatingEventArgs クラスの新しいインスタンスを初期化します。

(継承元 DbDataAdapter)
CreateTableMappings()

新しい DataTableMappingCollectionを作成します。

(継承元 DataAdapter)
Dispose()

Componentによって使用されるすべてのリソースを解放します。

(継承元 Component)
Dispose(Boolean)

DbDataAdapterによって使用されるアンマネージ リソースを解放し、必要に応じてマネージド リソースを解放します。

(継承元 DbDataAdapter)
Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
ExecuteBatch()

現在のバッチを実行します。

(継承元 DbDataAdapter)
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior)

DataSetテーブル名、ソース テーブル名、コマンド文字列、およびコマンド動作を使用して、データ ソース内の行と一致するように、DataSet内の指定された範囲の行を追加または更新します。

(継承元 DbDataAdapter)
Fill(DataSet, Int32, Int32, String)

DataSet名とDataTable名を使用して、データ ソース内の行と一致するように、DataSet内の指定した範囲内の行を追加または更新します。

(継承元 DbDataAdapter)
Fill(DataSet, String, IDataReader, Int32, Int32)

DataSetDataTable、およびIDataReader名を使用して、データ ソース内の行と一致するように、DataSet内の指定した範囲内の行を追加または更新します。

(継承元 DbDataAdapter)
Fill(DataSet, String)

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

(継承元 DbDataAdapter)
Fill(DataSet)

DataSet内の行を追加または更新します。

(継承元 DbDataAdapter)
Fill(DataTable, IDataReader)

指定したDataTable名とIDataReader名を使用して、データ ソース内の行と一致するように、DataTable内の行を追加または更新します。

(継承元 DbDataAdapter)
Fill(DataTable, IDbCommand, CommandBehavior)

指定したDataTableIDbCommand、およびCommandBehaviorを使用して、データ ソース内の行と一致するように、DataTable内の行を追加または更新します。

(継承元 DbDataAdapter)
Fill(DataTable)

DataTable名を使用して、データ ソース内の行と一致するように、DataSet内の指定された範囲内の行を追加または更新します。

(継承元 DbDataAdapter)
Fill(DataTable[], IDataReader, Int32, Int32)

データ ソース内の行と一致するように、 DataTable オブジェクトのコレクション内の指定した範囲内の行を追加または更新します。

(継承元 DataAdapter)
Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior)

DataSet名とDataTable名を使用して、データ ソース内の行と一致するように、DataSet内の指定した範囲内の行を追加または更新します。

(継承元 DbDataAdapter)
Fill(Int32, Int32, DataTable[])

1 つ以上の DataTable オブジェクト内の行を追加または更新して、指定したレコードから始まり、指定した最大数のレコードを取得するデータ ソース内の行と一致させます。

(継承元 DbDataAdapter)
FillSchema(DataSet, SchemaType, IDbCommand, String, CommandBehavior)

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

(継承元 DbDataAdapter)
FillSchema(DataSet, SchemaType, String, IDataReader)

指定したDataSetDataTableを追加します。

(継承元 DataAdapter)
FillSchema(DataSet, SchemaType, String)

指定したDataSetDataTableを追加し、指定したSchemaTypeDataTableに基づいて、データ ソース内のスキーマと一致するようにスキーマを構成します。

(継承元 DbDataAdapter)
FillSchema(DataSet, SchemaType)

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

(継承元 DbDataAdapter)
FillSchema(DataTable, SchemaType, IDataReader)

指定したDataSetDataTableを追加します。

(継承元 DataAdapter)
FillSchema(DataTable, SchemaType, IDbCommand, CommandBehavior)

指定したSchemaType、コマンド文字列、およびCommandBehavior値に基づいて、指定したDataTableのスキーマを構成します。

(継承元 DbDataAdapter)
FillSchema(DataTable, SchemaType)

指定したSchemaTypeに基づいて、指定したDataTableのスキーマを構成します。

(継承元 DbDataAdapter)
GetBatchedParameter(Int32, Int32)

現在のバッチ内のいずれかのコマンドから IDataParameter を返します。

(継承元 DbDataAdapter)
GetBatchedRecordsAffected(Int32, Int32, Exception)

大規模なバッチ更新プログラム内での個々の更新の試行に関する情報を返します。

(継承元 DbDataAdapter)
GetFillParameters()

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

(継承元 DbDataAdapter)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetLifetimeService()
古い.

このインスタンスの有効期間ポリシーを制御する現在の有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
GetService(Type)

ComponentまたはそのContainerによって提供されるサービスを表すオブジェクトを返します。

(継承元 Component)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
HasTableMappings()

DataTableMappingCollectionが作成されているかどうかを示します。

(継承元 DataAdapter)
InitializeBatching()

DbDataAdapterのバッチ処理を初期化します。

(継承元 DbDataAdapter)
InitializeLifetimeService()
古い.

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。

(継承元 MarshalByRefObject)
OnFillError(FillErrorEventArgs)

FillError イベントを発生させます。

(継承元 DbDataAdapter)
OnRowUpdated(RowUpdatedEventArgs)

.NET データ プロバイダーの RowUpdated イベントを発生させます。

(継承元 DbDataAdapter)
OnRowUpdating(RowUpdatingEventArgs)

.NET データ プロバイダーの RowUpdating イベントを発生させます。

(継承元 DbDataAdapter)
ResetFillLoadOption()

FillLoadOptionを既定の状態にリセットし、Fill(DataSet)AcceptChangesDuringFillを受け入れさせます。

(継承元 DataAdapter)
ShouldSerializeAcceptChangesDuringFill()

AcceptChangesDuringFill プロパティを永続化するかどうかを決定します。

(継承元 DataAdapter)
ShouldSerializeFillLoadOption()

FillLoadOption プロパティを永続化するかどうかを決定します。

(継承元 DataAdapter)
ShouldSerializeTableMappings()

1 つ以上の DataTableMapping オブジェクトが存在し、保持する必要があるかどうかを判断します。

(継承元 DataAdapter)
TerminateBatching()

DbDataAdapterのバッチ処理を終了します。

(継承元 DbDataAdapter)
ToString()

Stringの名前 (存在する場合) を含むComponentを返します。 このメソッドはオーバーライドしないでください。

(継承元 Component)
Update(DataRow[], DataTableMapping)

DataRow オブジェクトの指定した配列に挿入、更新、または削除された行ごとに、それぞれの INSERT、UPDATE、または DELETE ステートメントを実行して、データベース内の値を更新します。

(継承元 DbDataAdapter)
Update(DataRow[])

DataSet内の指定した配列に挿入、更新、または削除された行ごとに、それぞれの INSERT、UPDATE、または DELETE ステートメントを実行して、データベース内の値を更新します。

(継承元 DbDataAdapter)
Update(DataSet, String)

指定したDataTable名を使用して、DataSet内の挿入、更新、または削除された行ごとに、それぞれの INSERT、UPDATE、または DELETE ステートメントを実行して、データベース内の値を更新します。

(継承元 DbDataAdapter)
Update(DataSet)

指定した DataSet内の挿入、更新、または削除された行ごとに、それぞれの INSERT、UPDATE、または DELETE ステートメントを実行して、データベース内の値を更新します。

(継承元 DbDataAdapter)
Update(DataTable)

指定した DataTable内の挿入、更新、または削除された行ごとに、それぞれの INSERT、UPDATE、または DELETE ステートメントを実行して、データベース内の値を更新します。

(継承元 DbDataAdapter)

イベント

名前 説明
Disposed

コンポーネントが Dispose() メソッドの呼び出しによって破棄されるときに発生します。

(継承元 Component)
FillError

塗りつぶし操作中にエラーが発生したときに返されます。

(継承元 DbDataAdapter)
RowUpdated

データ ソースに対してコマンドが実行された後、 Update(DataSet) 中に発生します。 更新が試行されるため、イベントが発生します。

RowUpdating

データ ソースに対してコマンドが実行される前に、 Update(DataSet) 中に発生します。 更新が試行されるため、イベントが発生します。

明示的なインターフェイスの実装

名前 説明
ICloneable.Clone()

このメンバーの説明については、 Clone()を参照してください。

IDataAdapter.TableMappings

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

(継承元 DataAdapter)
IDbDataAdapter.DeleteCommand

このメンバーの説明については、 DeleteCommandを参照してください。

IDbDataAdapter.InsertCommand

このメンバーの説明については、 InsertCommandを参照してください。

IDbDataAdapter.SelectCommand

このメンバーの説明については、 SelectCommandを参照してください。

IDbDataAdapter.UpdateCommand

このメンバーの説明については、 UpdateCommandを参照してください。

適用対象

こちらもご覧ください