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


Свойство SyncAdapter.UpdateCommand

Возвращает или задает запрос или хранимую процедуру для обновления данных в базе данных сервера.

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

Синтаксис

'Декларация
Public Property UpdateCommand As IDbCommand
'Применение
Dim instance As SyncAdapter
Dim value As IDbCommand

value = instance.UpdateCommand

instance.UpdateCommand = value
public IDbCommand UpdateCommand { get; set; }
public:
property IDbCommand^ UpdateCommand {
    IDbCommand^ get ();
    void set (IDbCommand^ value);
}
/** @property */
public IDbCommand get_UpdateCommand ()

/** @property */
public void set_UpdateCommand (IDbCommand value)
public function get UpdateCommand () : IDbCommand

public function set UpdateCommand (value : IDbCommand)

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

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

Замечания

Команды адаптера синхронизации позволяют задавать запросы и хранимые процедуры, предназначенные для выборки данных из базы данных сервера и применения к ней изменений. Дополнительные сведения см. в разделе Как задать синхронизацию моментальными снимками, с загрузкой, с передачей и двунаправленную. В каждой команде используются переменные сеанса, позволяющие передавать значения во время синхронизации. Эти переменные указываются в командах ADO.NET аналогично другим параметрам запросов или хранимых процедур. Дополнительные сведения см. в разделе Как использовать переменные сеанса.

Пример

Следующий пример кода демонстрирует создание команды для обновления строк в таблице Customer при двунаправленной синхронизации и синхронизации только на передачу. Эта команда является хранимой процедурой, определение которой приведено в разделе Инструкции по сценариям установки для поставщика базы данных. Чтобы просмотреть этот код в контексте полного примера, см. раздел Как обрабатывать конфликты и ошибки в данных.

SqlCommand customerUpdates = new SqlCommand();
customerUpdates.CommandType = CommandType.StoredProcedure;
customerUpdates.CommandText = "usp_CustomerApplyUpdate";
customerUpdates.Parameters.Add("@" + SyncSession.SyncLastReceivedAnchor, SqlDbType.Timestamp);
customerUpdates.Parameters.Add("@" + SyncSession.SyncClientId, SqlDbType.UniqueIdentifier);
customerUpdates.Parameters.Add("@" + SyncSession.SyncForceWrite, SqlDbType.Bit);            
customerUpdates.Parameters.Add("@" + SyncSession.SyncRowCount, SqlDbType.Int).Direction = ParameterDirection.Output;
customerUpdates.Parameters.Add("@CustomerId", SqlDbType.UniqueIdentifier);
customerUpdates.Parameters.Add("@CustomerName", SqlDbType.NVarChar);
customerUpdates.Parameters.Add("@SalesPerson", SqlDbType.NVarChar);
customerUpdates.Parameters.Add("@CustomerType", SqlDbType.NVarChar);
customerUpdates.Connection = serverConn;
customerSyncAdapter.UpdateCommand = customerUpdates;
Dim customerUpdates As New SqlCommand()
customerUpdates.CommandType = CommandType.StoredProcedure
customerUpdates.CommandText = "usp_CustomerApplyUpdate"
customerUpdates.Parameters.Add("@" + SyncSession.SyncLastReceivedAnchor, SqlDbType.Timestamp)
customerUpdates.Parameters.Add("@" + SyncSession.SyncClientId, SqlDbType.UniqueIdentifier)
customerUpdates.Parameters.Add("@" + SyncSession.SyncForceWrite, SqlDbType.Bit)
customerUpdates.Parameters.Add("@" + SyncSession.SyncRowCount, SqlDbType.Int).Direction = ParameterDirection.Output
customerUpdates.Parameters.Add("@CustomerId", SqlDbType.UniqueIdentifier)
customerUpdates.Parameters.Add("@CustomerName", SqlDbType.NVarChar)
customerUpdates.Parameters.Add("@SalesPerson", SqlDbType.NVarChar)
customerUpdates.Parameters.Add("@CustomerType", SqlDbType.NVarChar)
customerUpdates.Connection = serverConn
customerSyncAdapter.UpdateCommand = customerUpdates

См. также

Справочник

Класс SyncAdapter
Элементы SyncAdapter
Пространство имен Microsoft.Synchronization.Data.Server