OdbcCommandBuilder クラス

定義

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

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

次の例では、 と と OdbcConnectionOdbcDataAdapter使用OdbcCommandして、データ ソースから行を選択します。 この例では、初期化DataSetされた 、接続文字列、SQL SELECT ステートメントであるクエリ文字列、およびデータ ソース テーブルの名前である文字列が渡されます。 次に、 を作成します OdbcCommandBuilder

public static DataSet SelectOdbcSrvRows(string connectionString,
    string queryString, string tableName)
{
    DataSet dataSet = new DataSet();
    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        OdbcDataAdapter adapter = new OdbcDataAdapter();
        adapter.SelectCommand =
            new OdbcCommand(queryString, connection);
        OdbcCommandBuilder builder =
            new OdbcCommandBuilder(adapter);

        connection.Open();

        adapter.Fill(dataSet, tableName);

        //code to modify data in DataSet here

        //Without the OdbcCommandBuilder this line would fail
        adapter.Update(dataSet, tableName);
    }
    return dataSet;
}
Public Function SelectOdbcSrvRows( _
    ByVal connectionString As String, ByVal queryString As String, _
    ByVal tableName As String) As DataSet

    Dim dataSet As New DataSet()

    Using connection As New OdbcConnection(connectionString)
        Dim adapter As New OdbcDataAdapter()
        adapter.SelectCommand = _
            New OdbcCommand(queryString, connection)
        Dim builder As New OdbcCommandBuilder(adapter)

        connection.Open()

        adapter.Fill(dataSet, tableName)

        ' Code to modify data in DataSet here 

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

    Return dataSet
End Function

注釈

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

と対応する OdbcCommandBuilder の間のOdbcDataAdapterリレーションシップは、常に 1 対 1 です。 この対応を作成するには、オブジェクトの プロパティをOdbcDataAdapterOdbcCommandBuilder設定します。 これにより、 OdbcCommandBuilder 自体がリスナーとして登録され、 に影響を与えるイベントの RowUpdating 出力が生成されます DataSet

INSERT、UPDATE、または DELETE ステートメントを生成するには、 OdbcCommandBuilder プロパティを SelectCommand 使用して、必要なメタデータのセットを取得します。 メタデータの取得後 (最初の更新後など) の SelectCommand 値を変更する場合は、 メソッドを RefreshSchema 呼び出してメタデータを更新する必要があります。

注意

プロパティに SelectCommand 割り当てられた SELECT ステートメントで別名付き列名が使用されている場合、結果として得られる INSERT、UPDATE、および DELETE ステートメントは不正確であるか、失敗する可能性があります。 基になる ODBC ドライバーがエイリアス列名に適切なベース列名を指定できない場合 (SQL_DESC_BASE_COLUMN_NAME値を SQLColAttribute使用)、生成された INSERT、UPDATE、および DELETE ステートメントでエイリアス名を使用できます。 たとえば、Microsoft ODBC Driver for Oracle は、別名をベース列名として返します。 そのため、生成された INSERT、UPDATE、および DELETE ステートメントによってエラーが発生します。

OdbcCommandBuilderでは、 によって参照される 、CommandTimeout、および Transaction プロパティも使用ConnectionされますSelectCommand。 これらのプロパティの 1 つ以上が変更された場合、またはプロパティ自体の値が変更された場合、ユーザーは を呼び出すRefreshSchemaSelectCommand必要があります。 それ以外の場合、 InsertCommandUpdateCommand、および DeleteCommand の各プロパティは、以前の値を保持します。

を呼び出 Disposeすと、 OdbcCommandBuilder は から OdbcDataAdapter関連付け解除され、生成されたコマンドは使用されなくなります。

コンストラクター

OdbcCommandBuilder()

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

OdbcCommandBuilder(OdbcDataAdapter)

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

プロパティ

CanRaiseEvents

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

(継承元 Component)
CatalogLocation

DbCommandBuilder クラスのインスタンスの CatalogLocation を取得または設定します。

(継承元 DbCommandBuilder)
CatalogSeparator

DbCommandBuilder クラスのインスタンスのカタログの区切り記号として使用する文字列を取得または設定します。

(継承元 DbCommandBuilder)
ConflictOption

ConflictOption で使用する DbCommandBuilder を指定します。

(継承元 DbCommandBuilder)
Container

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

(継承元 Component)
DataAdapter

この OdbcDataAdapter オブジェクトが生成する SQL ステートメントの対象となる OdbcCommandBuilder オブジェクトを取得または設定します。

DesignMode

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

(継承元 Component)
Events

Component に結び付けられているイベント ハンドラーのリストを取得します。

(継承元 Component)
QuotePrefix

開始文字、または名前に空白や予約済みトークンなどの文字を含むデータベース オブジェクト (テーブルや列など) を操作するときに使用する文字を取得または設定します。

QuotePrefix

名前に空白や予約済みトークンなどの文字を含むデータベース オブジェクト (テーブル、列など) を指定するための開始文字を取得または設定します。

(継承元 DbCommandBuilder)
QuoteSuffix

終了文字、または名前に空白や予約済みトークンなどの文字を含むデータベース オブジェクト (テーブルや列など) を操作するときに使用する文字を取得または設定します。

QuoteSuffix

名前に空白や予約済みトークンなどの文字を含むデータベース オブジェクト (テーブル、列など) を指定するための終了文字を取得または設定します。

(継承元 DbCommandBuilder)
SchemaSeparator

スキーマ識別子と他の識別子との間の区切り記号として使用される文字列を取得または設定します。

(継承元 DbCommandBuilder)
SetAllValues

UPDATE ステートメントにすべての列値が含まれるのか、変更になった列値だけが含まれるのかを示します。

(継承元 DbCommandBuilder)
Site

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

(継承元 Component)

メソッド

ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

DbCommandBuilder クラスのプロバイダーの実装が、追加パラメーターのプロパティを処理できるようにします。

(継承元 DbCommandBuilder)
CreateObjRef(Type)

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

(継承元 MarshalByRefObject)
DeriveParameters(OdbcCommand)

OdbcCommand で指定したストアド プロシージャからパラメーター情報を取得し、指定した Parameters オブジェクトの OdbcCommand コレクションにパラメーターを格納します。

Dispose()

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

(継承元 Component)
Dispose(Boolean)

DbCommandBuilder によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

(継承元 DbCommandBuilder)
Dispose(Boolean)

Component によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

(継承元 Component)
Equals(Object)

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

(継承元 Object)
GetDeleteCommand()

データ ソースで削除処理を実行するための、自動生成された OdbcCommand オブジェクトを取得します。

GetDeleteCommand(Boolean)

データ ソースで削除処理を実行するための、自動生成された OdbcCommand オブジェクトを取得します。

GetHashCode()

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

(継承元 Object)
GetInsertCommand()

データ ソースで挿入処理を実行するための、自動生成された OdbcCommand オブジェクトを取得します。

GetInsertCommand(Boolean)

データ ソースで挿入処理を実行するための、自動生成された OdbcCommand オブジェクトを取得します。

GetLifetimeService()
古い.

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

(継承元 MarshalByRefObject)
GetParameterName(Int32)

指定したパラメーターの名前を の形式 @p#で返します。 カスタムのコマンド ビルダーを作成する場合に使用します。

(継承元 DbCommandBuilder)
GetParameterName(String)

部分的なパラメーター名を指定して、完全なパラメーター名を返します。

(継承元 DbCommandBuilder)
GetParameterPlaceholder(Int32)

関連付けられた SQL ステートメントのパラメーターのプレースホルダーを返します。

(継承元 DbCommandBuilder)
GetSchemaTable(DbCommand)

DbCommandBuilder に対するスキーマ テーブルを返します。

(継承元 DbCommandBuilder)
GetService(Type)

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

(継承元 Component)
GetType()

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

(継承元 Object)
GetUpdateCommand()

データ ソースで更新処理を実行するための、自動生成された OdbcCommand オブジェクトを取得します。

GetUpdateCommand(Boolean)

データ ソースで更新処理を実行するための、自動生成された OdbcCommand オブジェクトを取得します。

InitializeCommand(DbCommand)

CommandTimeoutTransactionCommandTypeUpdateRowSource、および DbCommand の各プロパティをリセットします。

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

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

(継承元 MarshalByRefObject)
MemberwiseClone()

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

(継承元 Object)
MemberwiseClone(Boolean)

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

(継承元 MarshalByRefObject)
QuoteIdentifier(String)

カタログの大文字小文字を正しく区別して引用符で囲まれていない ID を指定し、正しく引用符で囲まれた形式でその ID を返します。 ID に埋め込まれている引用符は、正しくエスケープされます。

QuoteIdentifier(String, OdbcConnection)

カタログの大文字小文字を正しく区別して引用符で囲まれていない ID を指定し、正しく引用符で囲まれた形式でその ID を返します。 ID に埋め込まれている引用符は、正しくエスケープされます。

RefreshSchema()

この OdbcCommandBuilder に関連付けられているコマンドを削除します。

RefreshSchema()

この DbCommandBuilder に関連付けられているコマンドを削除します。

(継承元 DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

RowUpdating イベントのイベント ハンドラーを追加します。

(継承元 DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

DbCommandBuilder を登録して、RowUpdatingDbDataAdapter イベントを処理します。

(継承元 DbCommandBuilder)
ToString()

Component の名前 (存在する場合) を格納する String を返します。 このメソッドはオーバーライドできません。

(継承元 Component)
UnquoteIdentifier(String)

引用符で囲まれた ID を指定し、正しい引用符で囲まれていない形式の ID を返します。ID に埋め込まれている引用符は、正しくエスケープ解除されます。

UnquoteIdentifier(String, OdbcConnection)

引用符で囲まれた ID を指定し、正しい引用符で囲まれていない形式の ID を返します。ID に埋め込まれている引用符は、正しくエスケープ解除されます。

イベント

Disposed

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

(継承元 Component)

適用対象

こちらもご覧ください