OleDbDataAdapter クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
DataSetを満たし、データ ソースを更新するために使用される一連のデータ コマンドとデータベース接続を表します。
public ref class OleDbDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable, System::Data::IDbDataAdapter
public ref class OleDbDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable
public sealed class OleDbDataAdapter : System.Data.Common.DbDataAdapter, ICloneable, System.Data.IDbDataAdapter
public sealed class OleDbDataAdapter : System.Data.Common.DbDataAdapter, ICloneable
type OleDbDataAdapter = class
inherit DbDataAdapter
interface IDbDataAdapter
interface IDataAdapter
interface ICloneable
Public NotInheritable Class OleDbDataAdapter
Inherits DbDataAdapter
Implements ICloneable, IDbDataAdapter
Public NotInheritable Class OleDbDataAdapter
Inherits DbDataAdapter
Implements ICloneable
- 継承
- 実装
例
次の例では、 OleDbCommand、 OleDbDataAdapter 、 OleDbConnectionを使用して Access データ ソースからレコードを選択し、選択した行を DataSet に設定します。 その後、塗りつぶされた DataSet が返されます。 これを実現するために、メソッドには、初期化された DataSet、接続文字列、および SQL SELECT ステートメントであるクエリ文字列が渡されます。
public static OleDbDataAdapter CreateDataAdapter(string selectCommand,
OleDbConnection connection)
{
OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand, connection);
adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
// Create the Insert, Update and Delete commands.
adapter.InsertCommand = new OleDbCommand(
"INSERT INTO Customers (CustomerID, CompanyName) " +
"VALUES (?, ?)");
adapter.UpdateCommand = new OleDbCommand(
"UPDATE Customers SET CustomerID = ?, CompanyName = ? " +
"WHERE CustomerID = ?");
adapter.DeleteCommand = new OleDbCommand(
"DELETE FROM Customers WHERE CustomerID = ?");
// Create the parameters.
adapter.InsertCommand.Parameters.Add("@CustomerID",
OleDbType.Char, 5, "CustomerID");
adapter.InsertCommand.Parameters.Add("@CompanyName",
OleDbType.VarChar, 40, "CompanyName");
adapter.UpdateCommand.Parameters.Add("@CustomerID",
OleDbType.Char, 5, "CustomerID");
adapter.UpdateCommand.Parameters.Add("@CompanyName",
OleDbType.VarChar, 40, "CompanyName");
adapter.UpdateCommand.Parameters.Add("@oldCustomerID",
OleDbType.Char, 5, "CustomerID").SourceVersion =
DataRowVersion.Original;
adapter.DeleteCommand.Parameters.Add("@CustomerID",
OleDbType.Char, 5, "CustomerID").SourceVersion =
DataRowVersion.Original;
return adapter;
}
Public Function CreateDataAdapter(ByVal selectCommand As String, _
ByVal connection As OleDbConnection) As OleDbDataAdapter
Dim adapter As OleDbDataAdapter = _
New OleDbDataAdapter(selectCommand, connection)
adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
' Create the commands.
adapter.InsertCommand = New OleDbCommand( _
"INSERT INTO Customers (CustomerID, CompanyName) " & _
"VALUES (?, ?)")
adapter.UpdateCommand = New OleDbCommand( _
"UPDATE Customers SET CustomerID = ?, CompanyName = ? " & _
"WHERE CustomerID = ?")
adapter.DeleteCommand = New OleDbCommand( _
"DELETE FROM Customers WHERE CustomerID = ?")
' Create the parameters.
adapter.InsertCommand.Parameters.Add( _
"@CustomerID", OleDbType.Char, 5, "CustomerID")
adapter.InsertCommand.Parameters.Add( _
"@CompanyName", OleDbType.VarChar, 40, "CompanyName")
adapter.UpdateCommand.Parameters.Add( _
"@CustomerID", OleDbType.Char, 5, "CustomerID")
adapter.UpdateCommand.Parameters.Add( _
"@CompanyName", OleDbType.VarChar, 40, "CompanyName")
adapter.UpdateCommand.Parameters.Add( _
"@oldCustomerID", OleDbType.Char, 5, "CustomerID").SourceVersion = _
DataRowVersion.Original
adapter.DeleteCommand.Parameters.Add( _
"@CustomerID", OleDbType.Char, 5, "CustomerID").SourceVersion = _
DataRowVersion.Original
Return adapter
End Function
注釈
OleDbDataAdapterは、データを取得して保存するためのDataSetとデータ ソースの間のブリッジとして機能します。 OleDbDataAdapterは、Fillを使用してデータ ソースからDataSetにデータを読み込み、Updateを使用してDataSetで行われた変更をデータ ソースに送信することで、このブリッジを提供します。
OleDbDataAdapterがDataSetを入力すると、返されたデータに適切なテーブルと列がまだ存在しない場合は作成されます。 ただし、 MissingSchemaAction プロパティが AddWithKey に設定されていない限り、主キー情報は暗黙的に作成されるスキーマには含まれません。 また、OleDbDataAdapterを使用してデータを入力する前に、主キー情報を含むDataSetのスキーマを作成FillSchemaがあります。 詳細については、「 DataSet への既存の制約の追加」を参照してください。
MSDataShape プロバイダーを含む一部の OLE DB プロバイダーでは、ベース テーブルまたは主キー情報が返されないことに注意してください。 そのため、OleDbDataAdapterは、作成されたPrimaryKeyのDataTable プロパティを正しく設定できません。 このような場合は、 DataSetのテーブルの主キーを明示的に指定する必要があります。
OleDbDataAdapterには、データの読み込みと更新を容易にするために、SelectCommand、InsertCommand、DeleteCommand、UpdateCommand、およびTableMappingsプロパティも含まれています。
OleDbDataAdapterのインスタンスを作成すると、プロパティは初期値に設定されます。 これらの値の一覧については、 OleDbDataAdapter コンストラクターを参照してください。
コンストラクター
| 名前 | 説明 |
|---|---|
| OleDbDataAdapter() |
OleDbDataAdapter クラスの新しいインスタンスを初期化します。 |
| OleDbDataAdapter(OleDbCommand) |
指定したOleDbDataAdapterをOleDbCommand プロパティとして使用して、SelectCommand クラスの新しいインスタンスを初期化します。 |
| OleDbDataAdapter(String, OleDbConnection) |
OleDbDataAdapterを使用して、SelectCommand クラスの新しいインスタンスを初期化します。 |
| OleDbDataAdapter(String, String) |
OleDbDataAdapterを使用して、SelectCommand クラスの新しいインスタンスを初期化します。 |
フィールド
| 名前 | 説明 |
|---|---|
| DefaultSourceTableName |
テーブル マッピングに DataAdapter オブジェクトによって使用される既定の名前。 (継承元 DbDataAdapter) |
プロパティ
| 名前 | 説明 |
|---|---|
| AcceptChangesDuringFill |
AcceptChanges() 操作の実行中にDataRowにDataTableが追加された後にが呼び出されるかどうかを示す値を取得または設定します。 (継承元 DataAdapter) |
| AcceptChangesDuringUpdate |
AcceptChanges()中にUpdate(DataSet)を呼び出すかどうかを取得または設定します。 (継承元 DataAdapter) |
| CanRaiseEvents |
コンポーネントがイベントを発生できるかどうかを示す値を取得します。 (継承元 Component) |
| Container |
IContainerを含むComponentを取得します。 (継承元 Component) |
| ContinueUpdateOnError |
行の更新中にエラーが発生したときに例外を生成するかどうかを指定する値を取得または設定します。 (継承元 DataAdapter) |
| DeleteCommand |
データ セットからレコードを削除するための SQL ステートメントまたはストアド プロシージャを取得または設定します。 |
| DesignMode |
Componentが現在デザイン モードであるかどうかを示す値を取得します。 (継承元 Component) |
| Events |
この Componentにアタッチされているイベント ハンドラーの一覧を取得します。 (継承元 Component) |
| FillCommandBehavior |
データ アダプターの入力に使用するコマンドの動作を取得または設定します。 (継承元 DbDataAdapter) |
| FillLoadOption |
アダプターがLoadOptionからDataTableを塗りつぶす方法を決定するDbDataReaderを取得または設定します。 (継承元 DataAdapter) |
| InsertCommand |
データ ソースに新しいレコードを挿入するために使用する SQL ステートメントまたはストアド プロシージャを取得または設定します。 |
| MissingMappingAction |
受信データに一致するテーブルまたは列がない場合に実行するアクションを決定します。 (継承元 DataAdapter) |
| MissingSchemaAction |
既存の DataSet スキーマが受信データと一致しない場合に実行するアクションを決定します。 (継承元 DataAdapter) |
| ReturnProviderSpecificTypes |
|
| SelectCommand |
データ ソース内のレコードを選択するために使用する SQL ステートメントまたはストアド プロシージャを取得または設定します。 |
| Site | (継承元 Component) |
| TableMappings |
ソース テーブルと DataTableの間のプライマリ マッピングを提供するコレクションを取得します。 (継承元 DataAdapter) |
| UpdateBatchSize |
バッチ処理のサポートを有効または無効にする値を取得または設定し、バッチで実行できるコマンドの数を指定します。 (継承元 DbDataAdapter) |
| UpdateCommand |
データ ソース内のレコードを更新するために使用する SQL ステートメントまたはストアド プロシージャを取得または設定します。 |
メソッド
イベント
| 名前 | 説明 |
|---|---|
| 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を参照してください。 |