Поделиться через


Свойство SelectNewAnchorCommand

Возвращает или задает объект IDbCommand, который содержит запрос или хранимую процедуру для получения нового значения привязки из базы данных сервера. Привязка определяет верхнюю границу набора изменений, синхронизируемых в текущем сеансе.

Пространство имен:  Microsoft.Synchronization.Data.Server
Сборка:  Microsoft.Synchronization.Data.Server (в Microsoft.Synchronization.Data.Server.dll)

Синтаксис

'Декларация
Public Property SelectNewAnchorCommand As IDbCommand
    Get
    Set
'Применение
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);
}
member SelectNewAnchorCommand : IDbCommand with get, set
function get SelectNewAnchorCommand () : IDbCommand
function set SelectNewAnchorCommand (value : IDbCommand)

Значение свойства

Тип System.Data. . :: . .IDbCommand
Объект IDbCommand, содержащий запрос или хранимую процедуру.

Замечания

При выполнении текущей синхронизации создается новое значение точки привязки. Синхронизируются только те изменения, которые произведены между новым и предыдущим значениями точки привязки. После этого новое значение привязки сохраняется и в следующем сеансе синхронизации используется как предыдущее. Дополнительные сведения см. в подразделе «Определение изменений данных, которые должны быть загружены на клиент» раздела Отслеживание изменений в базе данных сервера.

Примеры

В следующем примере кода указана команда для получения от сервера нового значения привязки. В этом случае функция MIN_ACTIVE_ROWVERSION возвращает из базы данных SQL Server значение типа timestamp (эта функция появилась в SQL Server 2005 с пакетом обновления 2 (SP2)). Значение timestamp используется потому, что его содержат отслеживаемые столбцы в базе данных сервера. Если бы в них содержались значения даты, можно было бы воспользоваться функцией GETUTCDATE() вместо MIN_ACTIVE_ROWVERSION. Класс 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