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

SqlCeCommandBuilder クラス

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

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

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

SelectCommand プロパティ設定した場合は、単一テーブル更新する Transact-SQL ステートメント自動的に生成する SqlCeCommandBuilder オブジェクト作成できます

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

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

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

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

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

使用例使用例

SqlCeCommand を SqlCeDataAdapter および SqlCeConnection と共に使用してデータ ソースら行選択する例を次に示します。この例では、接続文字列クエリ文字列、およびデータベース テーブル名を表す文字列が渡されます。これらを基に、SqlCeCommandBuilder作成しますデータ アダプタによってコマンド ビルダ使用されローカル データベース内の変更されDataSet更新されます。

Try
    Dim conn As New SqlCeConnection("Data
 Source = MyDatabase.sdf")
    conn.Open()

    Dim cmd As SqlCeCommand = conn.CreateCommand()
    cmd.CommandText = "SELECT * FROM employees"

    Dim adp As New SqlCeDataAdapter(cmd)

    Dim cb As New SqlCeCommandBuilder()
    cb.DataAdapter = adp

    MessageBox.Show(cb.GetUpdateCommand().CommandText)
    MessageBox.Show(cb.GetInsertCommand().CommandText)
    MessageBox.Show(cb.GetDeleteCommand().CommandText)

    Dim ds As New DataSet("test")
    adp.Fill(ds)

    ' Modify the contents of the DataSet
    '
    ds.Tables(0).Rows(0)("First Name") = "Joe"

    adp.Update(ds)

Catch e1 As Exception
    Console.WriteLine(e1.ToString())
End Try
try
{
    SqlCeConnection conn = new SqlCeConnection("Data Source
 = MyDatabase.sdf");
    conn.Open();

    SqlCeCommand cmd = conn.CreateCommand();
    cmd.CommandText = "SELECT * FROM employees";

    SqlCeDataAdapter adp = new SqlCeDataAdapter(cmd);

    SqlCeCommandBuilder cb = new SqlCeCommandBuilder();
    cb.DataAdapter = adp;

    MessageBox.Show(cb.GetUpdateCommand().CommandText);
    MessageBox.Show(cb.GetInsertCommand().CommandText);
    MessageBox.Show(cb.GetDeleteCommand().CommandText);

    DataSet ds = new DataSet("test");
    adp.Fill(ds);

    // Modify the contents of the DataSet
    //
    ds.Tables[0].Rows[0]["First Name"] = "Joe";

    adp.Update(ds);

}
catch (Exception e1)
{
    Console.WriteLine(e1.ToString());
}
継承階層継承階層
System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Data.Common.DbCommandBuilder
        System.Data.SqlServerCe.SqlCeCommandBuilder
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SqlCeCommandBuilder メンバ
System.Data.SqlServerCe 名前空間



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

辞書ショートカット

すべての辞書の索引

「SqlCeCommandBuilder クラス」の関連用語

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

   

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



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

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

©2024 GRAS Group, Inc.RSS