Свойство 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