OleDbCommandBuilder クラス

定義

データベースに関連付けられた DataSet への変更を調整するための単一テーブル コマンドを自動的に生成します。Automatically generates single-table commands that are used to reconcile changes made to a DataSet with the associated database. このクラスは継承できません。This class cannot be inherited.

public ref class OleDbCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public sealed class OleDbCommandBuilder : System.Data.Common.DbCommandBuilder
type OleDbCommandBuilder = class
    inherit DbCommandBuilder
Public NotInheritable Class OleDbCommandBuilder
Inherits DbCommandBuilder
継承
OleDbCommandBuilder

次の例では、OleDbDataAdapterOleDbConnectionに沿って OleDbCommandを使用して、データソースから行を選択します。The following example uses the OleDbCommand, along OleDbDataAdapter and OleDbConnection, to select rows from a data source. この例では、初期化された DataSet、接続文字列、SQL SELECT ステートメントであるクエリ文字列、およびデータソーステーブルの名前である文字列が渡されます。The example is passed an initialized DataSet, a connection string, a query string that is an SQL SELECT statement, and a string that is the name of the data source table. この例では、OleDbCommandBuilderを作成します。The example then creates an OleDbCommandBuilder.

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

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

        connection.Close();
    }
    return dataSet;
}
Public Shared Function UpdateRows(ByVal connectionString As String, _
ByVal queryString As String, ByVal tableName As String) As DataSet

    Dim dataSet As New DataSet()

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

        connection.Open()

        adapter.Fill(dataSet, tableName)

        ' Code to modify data in DataSet here 

        builder.GetUpdateCommand()

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

    Return dataSet
End Function

注釈

OleDbDataAdapter は、関連付けられたデータソースと DataSet に対して行われた変更を調整するために必要な SQL ステートメントを自動的に生成しません。The OleDbDataAdapter does not automatically generate the SQL statements required to reconcile changes made to a DataSet with the associated data source. ただし、OleDbDataAdapterSelectCommand プロパティを設定した場合は、単一テーブルの更新の SQL ステートメントを自動的に生成するために OleDbCommandBuilder オブジェクトを作成することができます。However, you can create an OleDbCommandBuilder object to automatically generate SQL statements for single-table updates if you set the SelectCommand property of the OleDbDataAdapter. その後、設定していない追加の SQL ステートメントは、OleDbCommandBuilderによって生成されます。Then, any additional SQL statements that you do not set are generated by the OleDbCommandBuilder.

OleDbCommandBuilder は、DataAdapter プロパティを設定するたびに、RowUpdating イベントのリスナーとして自身を登録します。The OleDbCommandBuilder registers itself as a listener for RowUpdating events whenever you set the DataAdapter property. 一度に関連付けることができるのは、1つの OleDbDataAdapter または OleDbCommandBuilder オブジェクトだけです。You can only associate one OleDbDataAdapter or OleDbCommandBuilder object with each other at one time.

INSERT、UPDATE、または DELETE ステートメントを生成するには、OleDbCommandBuilderSelectCommand プロパティを使用して、必要なメタデータのセットを自動的に取得します。To generate INSERT, UPDATE, or DELETE statements, the OleDbCommandBuilder uses the SelectCommand property to retrieve a required set of metadata automatically. 最初の更新の後など、メタデータの取得後に SelectCommand を変更する場合は、RefreshSchema メソッドを呼び出して、メタデータを更新する必要があります。If you change the SelectCommand after the metadata is retrieved, such as after the first update, you should call the RefreshSchema method to update the metadata.

OleDbCommandBuilder では、SelectCommandによって参照される ConnectionCommandTimeout、および Transaction プロパティも使用されます。The OleDbCommandBuilder also uses the Connection, CommandTimeout, and Transaction properties referenced by the SelectCommand. ユーザーは、これらのプロパティの1つ以上が変更された場合、または SelectCommand 自体が置換された場合に RefreshSchema を呼び出す必要があります。The user should call RefreshSchema if one or more of these properties are modified, or if the SelectCommand itself is replaced. それ以外の場合、InsertCommandUpdateCommand、および DeleteCommand の各プロパティには、以前の値が保持されます。Otherwise the InsertCommand, UpdateCommand, and DeleteCommand properties retain their previous values.

Disposeを呼び出すと、OleDbCommandBuilderOleDbDataAdapterとの関連付けが解除され、生成されたコマンドは使用されなくなります。If you call Dispose, the OleDbCommandBuilder is disassociated from the OleDbDataAdapter, and the generated commands are no longer used.

コンストラクター

OleDbCommandBuilder()

OleDbCommandBuilder クラスの新しいインスタンスを初期化します。Initializes a new instance of the OleDbCommandBuilder class.

OleDbCommandBuilder(OleDbDataAdapter)

関連付ける OleDbCommandBuilder オブジェクトを指定して、OleDbDataAdapter クラスの新しいインスタンスを初期化します。Initializes a new instance of the OleDbCommandBuilder class with the associated OleDbDataAdapter object.

プロパティ

CanRaiseEvents

コンポーネントがイベントを発生させることがきるかどうかを示す値を取得します。Gets a value indicating whether the component can raise an event.

(継承元 Component)
CatalogLocation

CatalogLocation クラスのインスタンスの DbCommandBuilder を取得または設定します。Gets or sets the CatalogLocation for an instance of the DbCommandBuilder class.

(継承元 DbCommandBuilder)
CatalogSeparator

DbCommandBuilder クラスのインスタンスのカタログの区切り記号として使用する文字列を取得または設定します。Gets or sets a string used as the catalog separator for an instance of the DbCommandBuilder class.

(継承元 DbCommandBuilder)
ConflictOption

ConflictOption で使用する DbCommandBuilder を指定します。Specifies which ConflictOption is to be used by the DbCommandBuilder.

(継承元 DbCommandBuilder)
Container

IContainer を格納している Component を取得します。Gets the IContainer that contains the Component.

(継承元 Component)
DataAdapter

SQL ステートメントを自動生成する対象の OleDbDataAdapter オブジェクトを取得または設定します。Gets or sets an OleDbDataAdapter object for which SQL statements are automatically generated.

DesignMode

Component が現在デザイン モードかどうかを示す値を取得します。Gets a value that indicates whether the Component is currently in design mode.

(継承元 Component)
Events

Component に結び付けられているイベント ハンドラーのリストを取得します。Gets the list of event handlers that are attached to this Component.

(継承元 Component)
QuotePrefix

名前に空白や予約済みトークンなどの文字を含むデータベース オブジェクト (テーブル、列など) を指定するための開始文字を取得または設定します。Gets or sets the beginning character or characters to use when specifying database objects (for example, tables or columns) whose names contain characters such as spaces or reserved tokens.

QuoteSuffix

名前に空白や予約済みトークンなどの文字を含むデータベース オブジェクト (テーブル、列など) を指定するための終了文字を取得または設定します。Gets or sets the ending character or characters to use when specifying database objects (for example, tables or columns) whose names contain characters such as spaces or reserved tokens.

SchemaSeparator

スキーマ識別子と他の識別子との間の区切り記号として使用される文字列を取得または設定します。Gets or sets the character to be used for the separator between the schema identifier and any other identifiers.

(継承元 DbCommandBuilder)
SetAllValues

UPDATE ステートメントにすべての列値が含まれるのか、変更になった列値だけが含まれるのかを示します。Specifies whether all column values in an update statement are included or only changed ones.

(継承元 DbCommandBuilder)
Site

ISiteComponent を取得または設定します。Gets or sets the ISite of the Component.

(継承元 Component)

メソッド

ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

DbCommandBuilder クラスのプロバイダーの実装が、追加パラメーターのプロパティを処理できるようにします。Allows the provider implementation of the DbCommandBuilder class to handle additional parameter properties.

(継承元 DbCommandBuilder)
CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(継承元 MarshalByRefObject)
DeriveParameters(OleDbCommand)

OleDbCommand で指定したストアド プロシージャからパラメーター情報を取得し、指定した Parameters オブジェクトの OleDbCommand コレクションにパラメーターを格納します。Retrieves parameter information from the stored procedure specified in the OleDbCommand and populates the Parameters collection of the specified OleDbCommand object.

Dispose()

Component によって使用されているすべてのリソースを解放します。Releases all resources used by the Component.

(継承元 Component)
Dispose(Boolean)

Component によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(継承元 Component)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetDeleteCommand()

データ ソースで削除処理を実行するための、自動生成された OleDbCommand オブジェクトを取得します。Gets the automatically generated OleDbCommand object required to perform deletions at the data source.

GetDeleteCommand(Boolean)

データ ソースで削除処理を実行するための、自動生成された OleDbCommand オブジェクトを取得します。Gets the automatically generated OleDbCommand object required to perform deletions at the data source.

GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetInsertCommand()

データ ソースで挿入処理を実行するための、自動生成された OleDbCommand オブジェクトを取得します。Gets the automatically generated OleDbCommand object required to perform insertions at the data source.

GetInsertCommand(Boolean)

データ ソースで挿入処理を実行するための、自動生成された OleDbCommand オブジェクトを取得します。Gets the automatically generated OleDbCommand object required to perform insertions at the data source.

GetLifetimeService()

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(継承元 MarshalByRefObject)
GetParameterName(Int32)

指定したパラメーターの名前を、@p# の形式で返します。Returns the name of the specified parameter in the format of @p#. カスタムのコマンド ビルダーを作成する場合に使用します。Use when building a custom command builder.

(継承元 DbCommandBuilder)
GetParameterName(String)

部分的なパラメーター名を指定して、完全なパラメーター名を返します。Returns the full parameter name, given the partial parameter name.

(継承元 DbCommandBuilder)
GetParameterPlaceholder(Int32)

関連付けられた SQL ステートメントのパラメーターのプレースホルダーを返します。Returns the placeholder for the parameter in the associated SQL statement.

(継承元 DbCommandBuilder)
GetSchemaTable(DbCommand)

DbCommandBuilder に対するスキーマ テーブルを返します。Returns the schema table for the DbCommandBuilder.

(継承元 DbCommandBuilder)
GetService(Type)

Component またはその Container で提供されるサービスを表すオブジェクトを返します。Returns an object that represents a service provided by the Component or by its Container.

(継承元 Component)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
GetUpdateCommand()

データ ソースで更新処理を実行するための、自動生成された OleDbCommand オブジェクトを取得します。Gets the automatically generated OleDbCommand object required to perform updates at the data source.

GetUpdateCommand(Boolean)

オプションでパラメーター名に列を使用し、データ ソースで更新処理を実行するための、自動生成された OleDbCommand オブジェクトを取得します。Gets the automatically generated OleDbCommand object required to perform updates at the data source, optionally using columns for parameter names.

InitializeCommand(DbCommand)

CommandTimeoutTransactionCommandTypeUpdateRowSource、および DbCommand の各プロパティをリセットします。Resets the CommandTimeout, Transaction, CommandType, and UpdateRowSource properties on the DbCommand.

(継承元 DbCommandBuilder)
InitializeLifetimeService()

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。Obtains a lifetime service object to control the lifetime policy for this instance.

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。Creates a shallow copy of the current MarshalByRefObject object.

(継承元 MarshalByRefObject)
QuoteIdentifier(String)

カタログの大文字小文字を正しく区別して引用符で囲まれていない ID を指定し、正しく引用符で囲まれた形式でその ID を返します。Given an unquoted identifier in the correct catalog case, returns the correct quoted form of that identifier. ID に埋め込まれている引用符は、正しくエスケープされます。This includes correctly escaping any embedded quotes in the identifier.

QuoteIdentifier(String, OleDbConnection)

カタログの大文字小文字を正しく区別して引用符で囲まれていない ID を指定し、正しく引用符で囲まれた形式でその ID を返します。Given an unquoted identifier in the correct catalog case, returns the correct quoted form of that identifier. ID に埋め込まれている引用符は、正しくエスケープされます。This includes correctly escaping any embedded quotes in the identifier.

RefreshSchema()

この OleDbCommandBuilder に関連付けられているコマンドを削除します。Clears the commands associated with this OleDbCommandBuilder.

RowUpdatingHandler(RowUpdatingEventArgs)

RowUpdating イベントのイベント ハンドラーを追加します。Adds an event handler for the RowUpdating event.

(継承元 DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

DbCommandBuilder を登録して、RowUpdatingDbDataAdapter イベントを処理します。Registers the DbCommandBuilder to handle the RowUpdating event for a DbDataAdapter.

(継承元 DbCommandBuilder)
ToString()

String の名前 (存在する場合) を格納する Component を返します。Returns a String containing the name of the Component, if any. このメソッドはオーバーライドできません。This method should not be overridden.

(継承元 Component)
UnquoteIdentifier(String)

引用符で囲まれた ID を指定して、引用符で囲まれていない正しい形式の ID を返します。Given a quoted identifier, returns the correct unquoted form of that identifier. ID に埋め込まれている引用符は、正しくエスケープ解除されます。This includes correctly un-escaping any embedded quotes in the identifier.

UnquoteIdentifier(String, OleDbConnection)

引用符で囲まれた ID を指定して、引用符で囲まれていない正しい形式の ID を返します。Given a quoted identifier, returns the correct unquoted form of that identifier. ID に埋め込まれている引用符は、正しくエスケープ解除されます。This includes correctly un-escaping any embedded quotes in the identifier.

イベント

Disposed

Dispose() メソッドの呼び出しによってコンポーネントが破棄されると発生します。Occurs when the component is disposed by a call to the Dispose() method.

(継承元 Component)

適用対象

こちらもご覧ください