OdbcCommandBuilder クラスとは? わかりやすく解説

OdbcCommandBuilder クラス

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

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

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

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

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

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

メモメモ

SelectCommand プロパティ割り当てられSELECT ステートメントで別名の列名が使用されている場合は、それを使用した INSERTUPDATE、および DELETE ステートメント正しくないか、失敗する可能性あります。基になる ODBC ドライバが別名の列名に対応する適切な元の列名を (SQLColAttribute の SQL_DESC_BASE_COLUMN_NAME 値を使用して) 提供できない場合生成されINSERTUPDATE、および DELETE ステートメントに別名が使用される可能性あります。たとえば、Microsoft ODBC Driver for Oracle は、元の列名として別名を返します。そのため、生成されINSERTUPDATE、および DELETE ステートメントエラー発生します

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

Dispose呼び出すと、OdbcCommandBuilderOdbcDataAdapter関連付け解除され生成されコマンド使用されなくなります

使用例使用例

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

Public Function SelectOdbcSrvRows( _
    ByVal connectionString As String,
 ByVal queryString As String,
 _
    ByVal tableName As String)
 As DataSet

    Dim dataSet As DataSet = New
 DataSet

    Using connection As New OdbcConnection(connectionString)
        Dim adapter As New
 OdbcDataAdapter()
        adapter.SelectCommand = _
            New OdbcCommand(queryString, connection)
        Dim builder As OdbcCommandBuilder =
 _
            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
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;
}
継承階層継承階層
System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Data.Common.DbCommandBuilder
        System.Data.Odbc.OdbcCommandBuilder
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からOdbcCommandBuilder クラスを検索した結果を表示しています。
Weblioに収録されているすべての辞書からOdbcCommandBuilder クラスを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からOdbcCommandBuilder クラス を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「OdbcCommandBuilder クラス」の関連用語

OdbcCommandBuilder クラスのお隣キーワード
検索ランキング

   

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



OdbcCommandBuilder クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS