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