SqlDataAdapter クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
データ コマンドのセットと、DataSet の格納および SQL Server データベースの更新に使用されるデータベース接続を表します。 このクラスは継承できません。
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable, System::Data::IDbDataAdapter
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable, System.Data.IDbDataAdapter
type SqlDataAdapter = class
inherit DbDataAdapter
interface IDbDataAdapter
interface IDataAdapter
interface ICloneable
type SqlDataAdapter = class
inherit DbDataAdapter
interface IDataAdapter
interface IDbDataAdapter
interface ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable, IDbDataAdapter
- 継承
- 実装
例
次の例では、 、SqlDataAdapter、 SqlConnection をSqlCommand使用してデータベースからレコードを選択し、 に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、 と SQL Serverの間DataSetのブリッジとして機能し、データの取得と保存を行います。 はSqlDataAdapter、 のデータをデータ ソース内のDataSetデータと一致するように変更する マッピングFillによってこのブリッジを提供しUpdate、 では、データ ソースに対して適切な Transact-SQL ステートメントを使用して、 内のデータと一致するようにデータ ソース内DataSetのデータを変更します。 更新は行ごとに実行されます。 挿入、変更、および削除された行ごとに、 メソッドによって、 Update 行に対して実行された変更の種類 (Insert
、、 Update
または Delete
) が決定されます。 変更の種類に応じて、または Delete
コマンド テンプレートがInsert
Update
実行され、変更された行がデータ ソースに反映されます。 が SqlDataAdapter を DataSet塗りつぶすと、返されたデータに必要なテーブルと列がまだ存在しない場合は作成されます。 ただし、 プロパティが に設定AddWithKeyされていない限りMissingSchemaAction、暗黙的に作成されたスキーマには主キー情報は含まれません。 また、 を使用してFillSchema
データをSqlDataAdapter入力する前にDataSet、主キー情報を含む のスキーマを作成することもできます。 詳細については、「 DataSet への既存の制約の追加」を参照してください。
SqlDataAdapterは、 および とSqlConnection組み合わせて使用されSqlCommand、SQL Server データベースに接続するときのパフォーマンスが向上します。
Note
SQL Server のストアド プロシージャで、DataAdapter
を使用してデータを編集または削除する場合、ストアド プロシージャの定義に SET NOCOUNT ON は使用しないでください。 処理された行数がゼロとして返され、DataAdapter
によってコンカレンシーの競合として解釈されてしまいます。 この場合、DBConcurrencyException がスローされます。
SqlDataAdapterには、、、UpdateCommandDeleteCommand、および TableMappings の各プロパティも含SelectCommandInsertCommandまれており、データの読み込みと更新を容易にします。
の SqlDataAdapter インスタンスが作成されると、読み取り/書き込みプロパティは初期値に設定されます。 これらの値の一覧については、 コンストラクターを SqlDataAdapter 参照してください。
、InsertCommandDeleteCommand、および UpdateCommand は、パラメーター メカニズムを介して変更されたすべての行の個々の値で自動的に入力されるジェネリック テンプレートです。
のデータ ソースに伝達するすべての列についてUpdate、、、または DeleteCommand
にパラメーターをInsertCommand
UpdateCommand
追加する必要があります。 オブジェクトの プロパティはSourceColumnDbParameter、列の名前に設定する必要があります。 この設定は、パラメーターの値が手動で設定されていないが、現在処理されている行の特定の列から取得されることを示します。
Note
InvalidOperationExceptionは、 メソッドがFill呼び出され、テーブルにクライアント コンピューターで使用できないユーザー定義型が含まれている場合に発生します。 詳細については、「 CLR ユーザー定義型」を参照してください。
コンストラクター
SqlDataAdapter() |
SqlDataAdapter クラスの新しいインスタンスを初期化します。 |
SqlDataAdapter(SqlCommand) |
SqlDataAdapter プロパティとして SqlCommand を指定して、SelectCommand クラスの新しいインスタンスを初期化します。 |
SqlDataAdapter(String, SqlConnection) |
SqlDataAdapter オブジェクトと SelectCommand オブジェクトを指定して、SqlConnection クラスの新しいインスタンスを初期化します。 |
SqlDataAdapter(String, String) |
SqlDataAdapter と接続文字列を指定して、SelectCommand クラスの新しいインスタンスを初期化します。 |
フィールド
DefaultSourceTableName |
DataAdapter オブジェクトがテーブル マップに使用する既定の名前。 (継承元 DbDataAdapter) |
プロパティ
AcceptChangesDuringFill |
Fill 操作中に DataTable に DataRow が追加された後で、その行に対して AcceptChanges() を呼び出すかどうかを示す値を取得または設定します。 (継承元 DataAdapter) |
AcceptChangesDuringUpdate |
AcceptChanges() で Update(DataSet) が呼び出されるかどうかを取得または設定します。 (継承元 DataAdapter) |
CanRaiseEvents |
コンポーネントがイベントを発生させることがきるかどうかを示す値を取得します。 (継承元 Component) |
Container |
IContainer を含む Component を取得します。 (継承元 Component) |
ContinueUpdateOnError |
行の更新中にエラーが発生したときに、例外を生成するかどうかを指定する値を取得または設定します。 (継承元 DataAdapter) |
DeleteCommand |
データ セットからレコードを削除するための Transact-SQL ステートメントまたはストアド プロシージャを取得または設定します。 |
DesignMode |
Component が現在デザイン モードかどうかを示す値を取得します。 (継承元 Component) |
Events |
Component に結び付けられているイベント ハンドラーのリストを取得します。 (継承元 Component) |
FillCommandBehavior |
データ アダプターにデータを読み込むコマンドの動作を取得または設定します。 (継承元 DbDataAdapter) |
FillLoadOption |
アダプターが LoadOption から DataTable にデータを読み込む方法を決定する DbDataReader を取得または設定します。 (継承元 DataAdapter) |
InsertCommand |
データ ソースに新しいレコードを挿入するための Transact-SQL ステートメントまたはストアド プロシージャを取得または設定します。 |
MissingMappingAction |
一致するテーブルまたは列が受信データに含まれていない場合に実行するアクションを決定します。 (継承元 DataAdapter) |
MissingSchemaAction |
既存の DataSet スキーマが受信データと一致しないときに実行するアクションを決定します。 (継承元 DataAdapter) |
ReturnProviderSpecificTypes |
|
SelectCommand |
データ ソース内のレコードを選択するための Transact-SQL ステートメントまたはストアド プロシージャを取得または設定します。 |
Site |
Component の ISite を取得または設定します。 (継承元 Component) |
TableMappings |
ソース テーブルと の間のプライマリ マッピングを提供するコレクションを DataTable取得します。 (継承元 DataAdapter) |
UpdateBatchSize |
サーバーとの 1 回のラウンドトリップで処理される行数を取得または設定します。 |
UpdateBatchSize |
バッチ処理サポートを有効にするかどうか、および、1 回のバッチで実行可能なコマンド数を指定する値を取得または設定します。 (継承元 DbDataAdapter) |
UpdateCommand |
データ ソース内のレコードを更新するための Transact-SQL ステートメントまたはストアド プロシージャを取得または設定します。 |
メソッド
events
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」をご覧ください。 |