OleDbCommandBuilderとは? わかりやすく解説

OleDbCommandBuilder イベント


OleDbCommandBuilder クラス

データベースに関連付けられた DataSet への変更を調整するための単一テーブル コマンドを自動的に生成します。このクラスは継承できません。

名前空間: System.Data.OleDb
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public NotInheritable Class
 OleDbCommandBuilder
    Inherits DbCommandBuilder
Dim instance As OleDbCommandBuilder
public sealed class OleDbCommandBuilder : DbCommandBuilder
public ref class OleDbCommandBuilder sealed
 : public DbCommandBuilder
public final class OleDbCommandBuilder extends
 DbCommandBuilder
public final class OleDbCommandBuilder extends
 DbCommandBuilder
解説解説

OleDbDataAdapter では、データ ソースに関連付けられた DataSet への変更を調整する SQL ステートメントが自動的には生成されません。ただし、OleDbDataAdapter の SelectCommand プロパティを設定すると、単一テーブルを更新する SQL ステートメントを自動的に生成する OleDbCommandBuilder オブジェクトを作成できます。これによって、追加の SQL ステートメントが、OleDbCommandBuilder によって自動的に生成されます。

DataAdapter プロパティを設定すると、OleDbCommandBuilder が RowUpdating イベントのリスナとして自動的に登録されます。相互に関連付けることのできる OleDbDataAdapter オブジェクトと OleDbCommandBuilder オブジェクトは、それぞれ一度に 1 つだけです。

OleDbCommandBuilder では、INSERT、UPDATE、または DELETE ステートメントを生成するために、SelectCommand プロパティを通じて必要なメタデータ セットが自動的に取得されます。最初の更新の後など、メタデータが取得された後で SelectCommand を変更した場合は、RefreshSchema メソッドを呼び出してメタデータを更新する必要があります。

また、OleDbCommandBuilder では、SelectCommand が参照する Connection、CommandTimeout、および Transaction プロパティも使用されます。これらの 1 つ以上のプロパティを変更した場合、または SelectCommand 自体を置き換えた場合は、ユーザーが RefreshSchema を呼び出す必要があります。この操作を行わないと、InsertCommand、UpdateCommand、および DeleteCommand プロパティが、変更前の値のままになります。

Dispose を呼び出すと、OleDbCommandBuilder と OleDbDataAdapter の関連付けが解除され、生成されたコマンドは使用されなくなります。

使用例使用例

OleDbCommand を OleDbDataAdapter および OleDbConnection と共に使用して、データ ソースから行を選択する例を次に示します。この例では、初期化済みの DataSet、接続文字列、クエリ文字列 (SQL SELECT ステートメント)、およびデータ ソース テーブル名の文字列が渡されます。この例では、続いて、OleDbCommandBuilder を作成します。

Public Shared Function UpdateRows(connectionString
 As String, _
    queryString As String, tableName As
 String) As DataSet

    Dim dataSet As DataSet = New
 DataSet

    Using connection As New OleDbConnection(connectionString)
        Dim adapter As New
 OleDbDataAdapter()
        adapter.SelectCommand = New OleDbCommand(queryString,
 connection)
        Dim cb As OleDbCommandBuilder = New
 OleDbCommandBuilder(adapter)

        connection.Open()

        adapter.Fill(dataSet, tableName)

        ' Code to modify data in DataSet here 

        ' Without the OleDbCommandBuilder this line would fail.
        adapter.Update(dataSet, tableName)
    End Using

    Return dataSet
End Function
public static DataSet UpdateRows(string
 connectionString, 
    string queryString, string tableName)
{
    DataSet dataSet = new DataSet();
    using (OleDbConnection connection = new
 OleDbConnection(connectionString))
    {
        OleDbDataAdapter adapter = new OleDbDataAdapter();
        adapter.SelectCommand = new OleDbCommand(queryString,
 connection);
        OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter);

        connection.Open();

        adapter.Fill(dataSet, tableName);

        //code to modify data in DataSet here

        //Without the OleDbCommandBuilder this line would fail
        adapter.Update(dataSet, tableName);

        connection.Close();
    }
    return dataSet;
}
継承階層継承階層
System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Data.Common.DbCommandBuilder
        System.Data.OleDb.OleDbCommandBuilder
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

OleDbCommandBuilder コンストラクタ ()


OleDbCommandBuilder コンストラクタ (OleDbDataAdapter)

関連付ける OleDbDataAdapter オブジェクトを指定して、OleDbCommandBuilder クラスの新しいインスタンスを初期化します。

名前空間: System.Data.OleDb
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Sub New ( _
    adapter As OleDbDataAdapter _
)
Dim adapter As OleDbDataAdapter

Dim instance As New OleDbCommandBuilder(adapter)
public OleDbCommandBuilder (
    OleDbDataAdapter adapter
)
public:
OleDbCommandBuilder (
    OleDbDataAdapter^ adapter
)
public OleDbCommandBuilder (
    OleDbDataAdapter adapter
)
public function OleDbCommandBuilder (
    adapter : OleDbDataAdapter
)

パラメータ

adapter

OleDbDataAdapter。

解説解説

このプロパティで指定した OleDbDataAdapter が生成する RowUpdating イベントのリスナとして、OleDbCommandBuilder が自動的に登録されます。

新しい OleDbCommandBuilder インスタンスを作成すると、この OleDbDataAdapter に関連付けられていた既存の OleDbCommandBuilder が解放されます。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
OleDbCommandBuilder クラス
OleDbCommandBuilder メンバ
System.Data.OleDb 名前空間
その他の技術情報
コマンドの自動生成

OleDbCommandBuilder コンストラクタ

OleDbCommandBuilder クラスの新しいインスタンスを初期化します。 コマンドの自動生成
オーバーロードの一覧オーバーロードの一覧

名前 説明
OleDbCommandBuilder () OleDbCommandBuilder クラスの新しいインスタンスを初期化します。
OleDbCommandBuilder (OleDbDataAdapter) 関連付ける OleDbDataAdapter オブジェクトを指定して、OleDbCommandBuilder クラスの新しいインスタンスを初期化します。
参照参照

関連項目

OleDbCommandBuilder クラス
OleDbCommandBuilder メンバ
System.Data.OleDb 名前空間

その他の技術情報

コマンドの自動生成
コマンドの自動生成

OleDbCommandBuilder プロパティ


パブリック プロパティパブリック プロパティ

( プロテクト プロパティ も参照)
  名前 説明
パブリック プロパティ CatalogLocation  DbCommandBuilder クラスのインスタンスの CatalogLocation を設定または取得します。 ( DbCommandBuilder から継承されます。)
パブリック プロパティ CatalogSeparator  DbCommandBuilder クラスのインスタンスのカタログの区切り記号として使用する文字列を設定または取得します。 ( DbCommandBuilder から継承されます。)
パブリック プロパティ ConflictOption  DbCommandBuilder で使用する ConflictOption を指定します。 ( DbCommandBuilder から継承されます。)
パブリック プロパティ Container  Component を格納している IContainer を取得します。 ( Component から継承されます。)
パブリック プロパティ DataAdapter SQL ステートメントを自動生成する対象の OleDbDataAdapter オブジェクトを取得または設定します。
パブリック プロパティ QuotePrefix  名前に空白や予約済みトークンなどの文字を含むデータベース オブジェクト (テーブル、列など) を指定するための開始文字を取得または設定します。 ( DbCommandBuilder から継承されます。)
パブリック プロパティ QuoteSuffix  名前に空白や予約済みトークンなどの文字を含むデータベース オブジェクト (テーブル、列など) を指定するための開始文字を取得または設定します。 ( DbCommandBuilder から継承されます。)
パブリック プロパティ SchemaSeparator  スキーマ ID とその他の ID の間の区切り記号に使用する文字を取得または設定します。 ( DbCommandBuilder から継承されます。)
パブリック プロパティ SetAllValues  UPDATE ステートメントにすべての列値が含まれるのか、変更になった列値だけが含まれるのかを示します。 ( DbCommandBuilder から継承されます。)
パブリック プロパティ Site  Component の ISite を取得または設定します。 ( Component から継承されます。)
プロテクト プロパティプロテクト プロパティ
参照参照

関連項目

OleDbCommandBuilder クラス
System.Data.OleDb 名前空間

その他の技術情報

コマンドの自動生成

OleDbCommandBuilder メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド DeriveParameters OleDbCommand で指定したストアド プロシージャからパラメータ情報を取得し、指定した OleDbCommand オブジェクトの Parameters コレクションにパラメータを格納します。
パブリック メソッド Dispose  オーバーロードされます。 Component によって使用されているリソースを解放します。 ( Component から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetDeleteCommand オーバーロードされます。 データ ソースで削除処理を実行するための、自動生成された OleDbCommand オブジェクトを取得します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetInsertCommand オーバーロードされます。 データ ソースで挿入処理を実行するための、自動生成された OleDbCommand オブジェクトを取得します。
パブリック メソッド GetLifetimeService  対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド GetUpdateCommand オーバーロードされます。 データ ソースで更新処理を実行するための、自動生成された OleDbCommand オブジェクトを取得します。
パブリック メソッド InitializeLifetimeService  対象のインスタンスの有効期間ポリシーを制御する、有効期間サービス オブジェクトを取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド QuoteIdentifier オーバーロードされます。 オーバーライドされます。 カタログの大文字小文字を正しく区別して引用符で囲まれていない ID を指定し、正しく引用符で囲まれた形式でその ID を返します。ID に埋め込まれている引用符は、正しくエスケープされます。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド RefreshSchema  この DbCommandBuilder に関連付けられているコマンドを削除します。 ( DbCommandBuilder から継承されます。)
パブリック メソッド ToString  Component の名前を格納している String を返します (存在する場合)。このメソッドはオーバーライドできません。 ( Component から継承されます。)
パブリック メソッド UnquoteIdentifier オーバーロードされます。 オーバーライドされます。 引用符で囲まれた ID を指定して、引用符で囲まれていない正しい形式の ID を返します。ID に埋め込まれている引用符は、正しくエスケープ解除されます。
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

OleDbCommandBuilder クラス
System.Data.OleDb 名前空間

その他の技術情報

コマンドの自動生成

OleDbCommandBuilder メンバ

データベースに関連付けられた DataSet への変更を調整するための単一テーブル コマンドを自動的に生成します。このクラスは継承できません。

OleDbCommandBuilder データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド OleDbCommandBuilder オーバーロードされます。 OleDbCommandBuilder クラスの新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
( プロテクト プロパティ も参照)
  名前 説明
パブリック プロパティ CatalogLocation  DbCommandBuilder クラスのインスタンスの CatalogLocation を設定または取得します。(DbCommandBuilder から継承されます。)
パブリック プロパティ CatalogSeparator  DbCommandBuilder クラスのインスタンスのカタログの区切り記号として使用する文字列を設定または取得します。(DbCommandBuilder から継承されます。)
パブリック プロパティ ConflictOption  DbCommandBuilder で使用する ConflictOption を指定します。(DbCommandBuilder から継承されます。)
パブリック プロパティ Container  Component を格納している IContainer を取得します。(Component から継承されます。)
パブリック プロパティ DataAdapter SQL ステートメントを自動生成する対象の OleDbDataAdapter オブジェクトを取得または設定します。
パブリック プロパティ QuotePrefix  名前に空白や予約済みトークンなどの文字を含むデータベース オブジェクト (テーブル、列など) を指定するための開始文字を取得または設定します。(DbCommandBuilder から継承されます。)
パブリック プロパティ QuoteSuffix  名前に空白や予約済みトークンなどの文字を含むデータベース オブジェクト (テーブル、列など) を指定するための開始文字を取得または設定します。(DbCommandBuilder から継承されます。)
パブリック プロパティ SchemaSeparator  スキーマ ID とその他の ID の間の区切り記号に使用する文字を取得または設定します。(DbCommandBuilder から継承されます。)
パブリック プロパティ SetAllValues  UPDATE ステートメントにすべての列値が含まれるのか、変更になった列値だけが含まれるのかを示します。(DbCommandBuilder から継承されます。)
パブリック プロパティ Site  Component の ISite を取得または設定します。(Component から継承されます。)
プロテクト プロパティプロテクト プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 (MarshalByRefObject から継承されます。)
パブリック メソッド DeriveParameters OleDbCommand で指定したストアド プロシージャからパラメータ情報を取得し、指定した OleDbCommand オブジェクトの Parameters コレクションにパラメータを格納します。
パブリック メソッド Dispose  オーバーロードされます。 Component によって使用されているリソースを解放します。 (Component から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetDeleteCommand オーバーロードされます。 データ ソースで削除処理を実行するための、自動生成された OleDbCommand オブジェクトを取得します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetInsertCommand オーバーロードされます。 データ ソースで挿入処理を実行するための、自動生成された OleDbCommand オブジェクトを取得します。
パブリック メソッド GetLifetimeService  対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド GetUpdateCommand オーバーロードされます。 データ ソースで更新処理を実行するための、自動生成された OleDbCommand オブジェクトを取得します。
パブリック メソッド InitializeLifetimeService  対象のインスタンスの有効期間ポリシーを制御する、有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド QuoteIdentifier オーバーロードされます。 オーバーライドされます。 カタログの大文字小文字を正しく区別して引用符で囲まれていない ID を指定し、正しく引用符で囲まれた形式でその ID を返します。ID に埋め込まれている引用符は、正しくエスケープされます。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド RefreshSchema  この DbCommandBuilder に関連付けられているコマンドを削除します。 (DbCommandBuilder から継承されます。)
パブリック メソッド ToString  Component の名前を格納している String を返します (存在する場合)。このメソッドはオーバーライドできません。 (Component から継承されます。)
パブリック メソッド UnquoteIdentifier オーバーロードされます。 オーバーライドされます。 引用符で囲まれた ID を指定して、引用符で囲まれていない正しい形式の ID を返します。ID に埋め込まれている引用符は、正しくエスケープ解除されます。
プロテクト メソッドプロテクト メソッド
パブリック イベントパブリック イベント
参照参照

関連項目

OleDbCommandBuilder クラス
System.Data.OleDb 名前空間

その他の技術情報

コマンドの自動生成



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「OleDbCommandBuilder」の関連用語

OleDbCommandBuilderのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



OleDbCommandBuilderのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS