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