次の方法で共有


SyncAdapter.SelectIncrementalUpdatesCommand プロパティ

最後に同期した後にサーバー データベースで行われた更新を取得するために使用されるクエリまたはストアド プロシージャを取得または設定します。

名前空間: Microsoft.Synchronization.Data.Server
アセンブリ: Microsoft.Synchronization.Data.Server (microsoft.synchronization.data.server.dll 内)

構文

'宣言
Public Property SelectIncrementalUpdatesCommand As IDbCommand
'使用
Dim instance As SyncAdapter
Dim value As IDbCommand

value = instance.SelectIncrementalUpdatesCommand

instance.SelectIncrementalUpdatesCommand = value
public IDbCommand SelectIncrementalUpdatesCommand { get; set; }
public:
property IDbCommand^ SelectIncrementalUpdatesCommand {
    IDbCommand^ get ();
    void set (IDbCommand^ value);
}
/** @property */
public IDbCommand get_SelectIncrementalUpdatesCommand ()

/** @property */
public void set_SelectIncrementalUpdatesCommand (IDbCommand value)
public function get SelectIncrementalUpdatesCommand () : IDbCommand

public function set SelectIncrementalUpdatesCommand (value : IDbCommand)

プロパティ値

クエリまたはストアド プロシージャを格納する IDbCommand オブジェクト。

解説

同期アダプター コマンドにより、サーバー データベースから選択しサーバー データベースに変更を適用するのに使用されるクエリとストアド プロシージャを指定できるようになります。詳細については、「スナップショット、ダウンロード、アップロード、および双方向の各同期を指定する方法」を参照してください。各コマンドは、同期中に値を渡すことができるセッション変数を使用します。これらの変数は、ADO.NET コマンドのクエリやストアド プロシージャに対する他のパラメーターと同じように指定します。詳細については、「セッション変数を使用する方法」を参照してください。

次のコード例は、双方向でダウンロードのみの同期シナリオで更新された行を Customer テーブルから選択するコマンドを作成します。完全なコンテキスト例でこのコードを表示するには、「データの競合とエラーを処理する方法」を参照してください。

SqlCommand customerIncrUpdates = new SqlCommand();
customerIncrUpdates.CommandText =
    "SELECT CustomerId, CustomerName, SalesPerson, CustomerType " +
    "FROM Sales.Customer " +
    "WHERE (UpdateTimestamp > @sync_last_received_anchor " +
    "AND UpdateTimestamp <= @sync_new_received_anchor " +
    "AND UpdateId <> @sync_client_id " +
    "AND NOT (InsertTimestamp > @sync_last_received_anchor " +
    "AND InsertId <> @sync_client_id))";
customerIncrUpdates.Parameters.Add("@" + SyncSession.SyncLastReceivedAnchor, SqlDbType.Timestamp);
customerIncrUpdates.Parameters.Add("@" + SyncSession.SyncNewReceivedAnchor, SqlDbType.Timestamp);
customerIncrUpdates.Parameters.Add("@" + SyncSession.SyncClientId, SqlDbType.UniqueIdentifier);
customerIncrUpdates.Connection = serverConn;
customerSyncAdapter.SelectIncrementalUpdatesCommand = customerIncrUpdates;
Dim customerIncrUpdates As New SqlCommand()
With customerIncrUpdates
    .CommandText = _
        "SELECT CustomerId, CustomerName, SalesPerson, CustomerType " _
      & "FROM Sales.Customer " _
      & "WHERE (UpdateTimestamp > @sync_last_received_anchor " _
      & "AND UpdateTimestamp <= @sync_new_received_anchor " _
      & "AND UpdateId <> @sync_client_id " _
      & "AND NOT (InsertTimestamp > @sync_last_received_anchor " _
      & "AND InsertId <> @sync_client_id))"
    .Parameters.Add("@" + SyncSession.SyncLastReceivedAnchor, SqlDbType.Timestamp)
    .Parameters.Add("@" + SyncSession.SyncNewReceivedAnchor, SqlDbType.Timestamp)
    .Parameters.Add("@" + SyncSession.SyncClientId, SqlDbType.UniqueIdentifier)
    .Connection = serverConn
End With
customerSyncAdapter.SelectIncrementalUpdatesCommand = customerIncrUpdates

参照

リファレンス

SyncAdapter クラス
SyncAdapter メンバー
Microsoft.Synchronization.Data.Server 名前空間