次の方法で共有


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 プロパティを設定すると、 SqlCeCommandBuilderRowUpdating イベントのリスナとして自動的に登録されます。相互に関連付けることのできる SqlCeDataAdapterSqlCeCommandBuilder オブジェクトは、一度に 1 つずつだけです。

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

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

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

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

必要条件

名前空間: System.Data.SqlServerCe

プラットフォーム: .NET Compact Framework - Windows CE .NET

アセンブリ: System.Data.Sqlserverce (System.Data.Sqlserverce.dll 内)

参照

SqlCeCommandBuilder メンバ | System.Data.SqlServerCe 名前空間