SqlCeCommandBuilder イベント
SqlCeCommandBuilder クラス
アセンブリ: System.Data.SqlServerCe (system.data.sqlserverce.dll 内)
構文
SelectCommand プロパティを設定した場合は、単一テーブルを更新する Transact-SQL ステートメントを自動的に生成する SqlCeCommandBuilder オブジェクトを作成できます。
DataAdapter プロパティを設定すると、SqlCeCommandBuilder は、RowUpdating イベントのリスナとして登録されます。相互に関連付けることのできる SqlCeDataAdapter オブジェクトと SqlCeCommandBuilder オブジェクトは、それぞれ一度に 1 つだけです。
SqlCeCommandBuilder では、INSERT、UPDATE、または DELETE ステートメントを生成するために、SelectCommand プロパティを通じて必要なメタデータ セットが自動的に取得されます。最初の更新の後など、メタデータが取得された後で SelectCommand を変更した場合は、RefreshSchema メソッドを呼び出してメタデータを更新する必要があります。
また、SelectCommand は、少なくとも 1 つの主キー列または一意な列を返すようにする必要があります。これらの列が存在しない場合は、InvalidOperation 例外が生成され、コマンドは生成されません。
また、SqlCeCommandBuilder では、SelectCommand が参照する Connection プロパティと Transaction プロパティも使用されます。これらのいずれかのプロパティを変更した場合、または SelectCommand 自体を置き換えた場合は、RefreshSchema を呼び出す必要があります。この操作を行わないと、InsertCommand、UpdateCommand、および DeleteCommand の各プロパティは、変更前の値のままになります。
Dispose を呼び出すと、SqlCeCommandBuilder と SqlCeDataAdapter の関連付けが解除され、生成されたコマンドは使用されなくなります。
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.MarshalByRefObject
System.ComponentModel.Component
System.Data.Common.DbCommandBuilder
System.Data.SqlServerCe.SqlCeCommandBuilder
プラットフォーム
Windows CE, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows XP Professional x64 Edition, Windows XP SP2
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
SqlCeCommandBuilder コンストラクタ ()
アセンブリ: System.Data.SqlServerCe (system.data.sqlserverce.dll 内)
構文
.NET Framework のセキュリティ
プラットフォーム
Windows CE, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows XP Professional x64 Edition, Windows XP SP2
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
SqlCeCommandBuilder コンストラクタ
オーバーロードの一覧
名前 | 説明 |
---|---|
SqlCeCommandBuilder () | SqlCeCommandBuilder クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
SqlCeCommandBuilder (SqlCeDataAdapter) | 関連付けられた SqlCeDataAdapter オブジェクトと SqlCeCommand オブジェクトを使用して、SqlCeCommandBuilder クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
SqlCeCommandBuilder コンストラクタ (SqlCeDataAdapter)
アセンブリ: System.Data.SqlServerCe (system.data.sqlserverce.dll 内)
構文
.NET Framework のセキュリティ
プラットフォーム
Windows CE, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows XP Professional x64 Edition, Windows XP SP2
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
SqlCeCommandBuilder プロパティ
パブリック プロパティ
名前 | 説明 | |
---|---|---|
CatalogLocation | オーバーライドされます。 SQL Server Mobile ではサポートされません。 | |
CatalogSeparator | オーバーライドされます。 SQL Server Mobile ではサポートされません。 | |
ConflictOption | オーバーライドされます。 | |
QuotePrefix | オーバーライドされます。 名前に空白や予約済みトークンなどの文字を含む SQL Server データベース オブジェクト (テーブル、列など) を指定するための開始文字を取得または設定します。 | |
QuoteSuffix | オーバーライドされます。 名前に空白や予約済みトークンなどの文字を含む SQL Server データベース オブジェクト (テーブル、列など) を指定するための終了文字を取得または設定します。 | |
SchemaSeparator | オーバーライドされます。 SQL Server Mobile ではサポートされません。 | |
SetAllValues | UPDATE ステートメントにすべての列値が含まれるのか、変更になった列値だけが含まれるのかを示します。 ( DbCommandBuilder から継承されます。) | |
Site | Component の ISite を取得または設定します。 ( Component から継承されます。) |
参照
SqlCeCommandBuilder メソッド
パブリック メソッド
名前 | 説明 | |
---|---|---|
ApplyParameterInfo | DbCommandBuilder クラスのプロバイダの実装が、追加パラメータのプロパティを処理できるようにします。 ( DbCommandBuilder から継承されます。) | |
Dispose | オーバーロードされます。 DbCommandBuilder によって使用されているリソースを解放します。 ( DbCommandBuilder から継承されます。) | |
Finalize | Component がガベージ コレクションによってクリアされる前に、アンマネージ リソースを解放し、その他のクリーンアップ操作を実行します。 ( Component から継承されます。) | |
GetParameterName | オーバーロードされます。 指定したパラメータの名前を返します。 ( DbCommandBuilder から継承されます。) | |
GetParameterPlaceholder | 関連付けられた SQL ステートメントのパラメータのプレースホルダを返します。 ( DbCommandBuilder から継承されます。) | |
GetSchemaTable | DbCommandBuilder に対するスキーマ テーブルを返します。 ( DbCommandBuilder から継承されます。) | |
InitializeCommand | DbCommand の CommandTimeout、Transaction、CommandType、および UpdateRowSource の各プロパティをリセットします。 ( DbCommandBuilder から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) | |
RowUpdatingHandler | RowUpdating イベントのイベント ハンドラを追加します。 ( DbCommandBuilder から継承されます。) | |
SetRowUpdatingHandler | DbCommandBuilder を登録して、DbDataAdapter の RowUpdating イベントを処理します。 ( DbCommandBuilder から継承されます。) |
SqlCeCommandBuilder メンバ
SQL Server Mobile データベースに関連付けられた DataSet への変更を調整するための単一テーブル コマンドを自動的に生成する手段を提供します。このクラスは継承できません。
SqlCeCommandBuilder データ型で公開されるメンバを以下の表に示します。
パブリック コンストラクタ
パブリック プロパティ
名前 | 説明 | |
---|---|---|
CatalogLocation | オーバーライドされます。 SQL Server Mobile ではサポートされません。 | |
CatalogSeparator | オーバーライドされます。 SQL Server Mobile ではサポートされません。 | |
ConflictOption | オーバーライドされます。 | |
QuotePrefix | オーバーライドされます。 名前に空白や予約済みトークンなどの文字を含む SQL Server データベース オブジェクト (テーブル、列など) を指定するための開始文字を取得または設定します。 | |
QuoteSuffix | オーバーライドされます。 名前に空白や予約済みトークンなどの文字を含む SQL Server データベース オブジェクト (テーブル、列など) を指定するための終了文字を取得または設定します。 | |
SchemaSeparator | オーバーライドされます。 SQL Server Mobile ではサポートされません。 | |
SetAllValues | UPDATE ステートメントにすべての列値が含まれるのか、変更になった列値だけが含まれるのかを示します。(DbCommandBuilder から継承されます。) | |
Site | Component の ISite を取得または設定します。(Component から継承されます。) |
パブリック メソッド
名前 | 説明 | |
---|---|---|
ApplyParameterInfo | DbCommandBuilder クラスのプロバイダの実装が、追加パラメータのプロパティを処理できるようにします。 (DbCommandBuilder から継承されます。) | |
Dispose | オーバーロードされます。 DbCommandBuilder によって使用されているリソースを解放します。 (DbCommandBuilder から継承されます。) | |
Finalize | Component がガベージ コレクションによってクリアされる前に、アンマネージ リソースを解放し、その他のクリーンアップ操作を実行します。 (Component から継承されます。) | |
GetParameterName | オーバーロードされます。 指定したパラメータの名前を返します。 (DbCommandBuilder から継承されます。) | |
GetParameterPlaceholder | 関連付けられた SQL ステートメントのパラメータのプレースホルダを返します。 (DbCommandBuilder から継承されます。) | |
GetSchemaTable | DbCommandBuilder に対するスキーマ テーブルを返します。 (DbCommandBuilder から継承されます。) | |
InitializeCommand | DbCommand の CommandTimeout、Transaction、CommandType、および UpdateRowSource の各プロパティをリセットします。 (DbCommandBuilder から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) | |
RowUpdatingHandler | RowUpdating イベントのイベント ハンドラを追加します。 (DbCommandBuilder から継承されます。) | |
SetRowUpdatingHandler | DbCommandBuilder を登録して、DbDataAdapter の RowUpdating イベントを処理します。 (DbCommandBuilder から継承されます。) |
参照
- SqlCeCommandBuilderのページへのリンク