Свойство DbServerSyncProvider.SelectNewAnchorCommand
Возвращает или задает объект IDbCommand, который содержит запрос или хранимую процедуру для получения нового значения привязки из базы данных сервера. Привязка определяет верхнюю границу набора изменений, синхронизируемых в текущем сеансе.
Пространство имен: Microsoft.Synchronization.Data.Server
Сборка: Microsoft.Synchronization.Data.Server (в microsoft.synchronization.data.server.dll)
Синтаксис
'Декларация
Public Property SelectNewAnchorCommand As IDbCommand
'Применение
Dim instance As DbServerSyncProvider
Dim value As IDbCommand
value = instance.SelectNewAnchorCommand
instance.SelectNewAnchorCommand = value
public IDbCommand SelectNewAnchorCommand { get; set; }
public:
property IDbCommand^ SelectNewAnchorCommand {
IDbCommand^ get ();
void set (IDbCommand^ value);
}
/** @property */
public IDbCommand get_SelectNewAnchorCommand ()
/** @property */
public void set_SelectNewAnchorCommand (IDbCommand value)
public function get SelectNewAnchorCommand () : IDbCommand
public function set SelectNewAnchorCommand (value : IDbCommand)
Значение свойства
Объект IDbCommand, содержащий запрос или хранимую процедуру.
Замечания
При выполнении текущей синхронизации создается новое значение точки привязки. Синхронизируются только те изменения, которые произведены между новым и предыдущим значениями точки привязки. После этого новое значение привязки сохраняется и в следующем сеансе синхронизации используется как предыдущее. Дополнительные сведения см. в подразделе «Определение изменений данных, которые должны быть загружены на клиент» раздела Отслеживание изменений в базе данных сервера.
Пример
В следующем примере кода указана команда для получения от сервера нового значения привязки. В этом случае функция MIN_ACTIVE_ROWVERSION
возвращает из базы данных SQL Server значение типа timestamp (эта функция появилась в SQL Server 2005 с пакетом обновления 2 (SP2)). Значение timestamp используется потому, что его содержат отслеживаемые столбцы в базе данных сервера. Если бы столбцы отслеживания содержали значения даты, то вместо MIN_ACTIVE_ROWVERSION
можно было бы воспользоваться, например, функцией GETUTCDATE()
. Класс SyncSession содержит несколько строковых констант, которые могут использоваться в командах синхронизации. Одна из них — SyncNewReceivedAnchor. Литерал @sync_new_received_anchor
может применяться непосредственно в запросах. Чтобы просмотреть этот код в контексте полного примера, см. раздел Приступая к работе: синхронизация клиента и сервера.
SqlCommand selectNewAnchorCommand = new SqlCommand();
string newAnchorVariable = "@" + SyncSession.SyncNewReceivedAnchor;
selectNewAnchorCommand.CommandText = "SELECT " + newAnchorVariable + " = min_active_rowversion() - 1";
selectNewAnchorCommand.Parameters.Add(newAnchorVariable, SqlDbType.Timestamp);
selectNewAnchorCommand.Parameters[newAnchorVariable].Direction = ParameterDirection.Output;
selectNewAnchorCommand.Connection = serverConn;
this.SelectNewAnchorCommand = selectNewAnchorCommand;
Dim selectNewAnchorCommand As New SqlCommand()
Dim newAnchorVariable As String = "@" + SyncSession.SyncNewReceivedAnchor
selectNewAnchorCommand.CommandText = "SELECT " + newAnchorVariable + " = min_active_rowversion() - 1"
selectNewAnchorCommand.Parameters.Add(newAnchorVariable, SqlDbType.Timestamp)
selectNewAnchorCommand.Parameters(newAnchorVariable).Direction = ParameterDirection.Output
selectNewAnchorCommand.Connection = serverConn
Me.SelectNewAnchorCommand = selectNewAnchorCommand
См. также
Справочник
Класс DbServerSyncProvider
Элементы DbServerSyncProvider
Пространство имен Microsoft.Synchronization.Data.Server