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

SqlCommandBuilder イベント


SqlCommandBuilder クラス

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

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

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

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

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

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

また、SelectCommand は、少なくとも 1 つ主キー列または一意な列を返すようにする必要があります。これらの列が存在しない場合は、InvalidOperation 例外生成されコマンド生成されません。

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

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

使用例使用例

SqlCommand を SqlDataAdapter および SqlConnection と共に使用してデータ ソースら行選択する例を次に示します。この例では、接続文字列Transact-SQL SELECT ステートメントクエリ文字列、およびデータベース テーブル名の文字列渡されます。これらを基に、SqlCommandBuilder作成します

Private Function SelectSqlRows(ByVal
 connectionString As String, _
    ByVal queryString As String,
 ByVal tableName As String)
 As DataSet

    Using connection As New SqlConnection(connectionString)

        Dim adapter As New
 SqlDataAdapter()
        adapter.SelectCommand = New SqlCommand(queryString, connection)
        Dim builder As SqlCommandBuilder =
 New SqlCommandBuilder(adapter)

        connection.Open()

        Dim dataSet As DataSet = New
 DataSet
        adapter.Fill(dataSet, tableName)

        ' Code to modify data in DataSet here 

        ' Without the SqlCommandBuilder this line would fail.
        adapter.Update(dataSet, tableName)

        Return dataSet
    End Using
 End Function
public static DataSet SelectSqlRows(string
 connectionString,
    string queryString, string tableName)
{
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        SqlDataAdapter adapter = new SqlDataAdapter();
        adapter.SelectCommand = new SqlCommand(queryString, connection);
        SqlCommandBuilder builder = new SqlCommandBuilder(adapter);

        connection.Open();

        DataSet dataSet = new DataSet();
        adapter.Fill(dataSet, tableName);

        //code to modify data in DataSet here

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

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

SqlCommandBuilder コンストラクタ ()


SqlCommandBuilder コンストラクタ

SqlCommandBuilder クラス新しインスタンス初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
SqlCommandBuilder () SqlCommandBuilder クラス新しインスタンス初期化します。

.NET Compact Framework によってサポートされています。

SqlCommandBuilder (SqlDataAdapter) 関連付ける SqlDataAdapter オブジェクト指定してSqlCommandBuilder クラス新しインスタンス初期化します。

.NET Compact Framework によってサポートされています。

参照参照

関連項目

SqlCommandBuilder クラス
SqlCommandBuilder メンバ
System.Data.SqlClient 名前空間

SqlCommandBuilder コンストラクタ (SqlDataAdapter)

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

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

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

Dim instance As New SqlCommandBuilder(adapter)
public SqlCommandBuilder (
    SqlDataAdapter adapter
)
public:
SqlCommandBuilder (
    SqlDataAdapter^ adapter
)
public SqlCommandBuilder (
    SqlDataAdapter adapter
)
public function SqlCommandBuilder (
    adapter : SqlDataAdapter
)

パラメータ

adapter

SqlDataAdapter の名前。

解説解説

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

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

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

SqlCommandBuilder プロパティ


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

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

関連項目

SqlCommandBuilder クラス
System.Data.SqlClient 名前空間

その他の技術情報

ADO.NET でのデータへの接続およびデータ取得
.NET Framework Data Provider for SQL Server使用

SqlCommandBuilder メソッド


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

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

関連項目

SqlCommandBuilder クラス
System.Data.SqlClient 名前空間

その他の技術情報

ADO.NET でのデータへの接続およびデータ取得
.NET Framework Data Provider for SQL Server使用

SqlCommandBuilder メンバ

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

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


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

関連項目

SqlCommandBuilder クラス
System.Data.SqlClient 名前空間

その他の技術情報

ADO.NET でのデータへの接続およびデータ取得
.NET Framework Data Provider for SQL Server使用



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

辞書ショートカット

すべての辞書の索引

「SqlCommandBuilder」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS