SqlCeCommandBuilder クラス
メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。
SQL Server CE データベースに関連付けられた DataSet への変更を調整するための単一テーブル コマンドを自動的に生成する手段を提供します。このクラスは継承できません。
この型のすべてのメンバの一覧については、SqlCeCommandBuilder メンバ を参照してください。
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Data.SqlServerCe.SqlCeCommandBuilder
NotInheritable Public Class SqlCeCommandBuilder
Inherits Component
[C#]
public sealed class SqlCeCommandBuilder : Component
[C++]
public __gc __sealed class SqlCeCommandBuilder : public Component
[JScript]
public class SqlCeCommandBuilder extends Component
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
SqlCeCommandBuilder で作成される SQL ステートメントは、矛盾を検出しません。この動作は System.Data.SqlClient の動作とは異なります。
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 の関連付けが解除され、生成されたコマンドは使用されなくなります。
必要条件
名前空間: System.Data.SqlServerCe
プラットフォーム: .NET Compact Framework - Windows CE .NET
アセンブリ: System.Data.Sqlserverce (System.Data.Sqlserverce.dll 内)