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