Compartir a través de


DbSyncProvider.SelectNewTimestampCommand Propiedad

Obtiene o establece un objeto IDbCommand que contiene la consulta o procedimiento almacenado que devuelve un nuevo valor de marca de tiempo de la base de datos del mismo nivel. La marca de tiempo define el límite superior para el conjunto de cambios que se va a sincronizar durante la sesión actual.

Esta propiedad no es compatible con CLS.  

Espacio de nombres: Microsoft.Synchronization.Data
Ensamblado: Microsoft.Synchronization.Data (en microsoft.synchronization.data.dll)

Sintaxis

'Declaración
Public Overridable Property SelectNewTimestampCommand As IDbCommand
'Uso
Dim instance As DbSyncProvider
Dim value As IDbCommand

value = instance.SelectNewTimestampCommand

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

/** @property */
public void set_SelectNewTimestampCommand (IDbCommand value)
public function get SelectNewTimestampCommand () : IDbCommand

public function set SelectNewTimestampCommand (value : IDbCommand)

Valor de la propiedad

Objeto IDbCommand que contiene una consulta o procedimiento almacenado.

Notas

La consulta o el procedimiento almacenado que se especifica para este comando devuelve un valor timestamp que se utiliza para seleccionar y aplicar conjuntos de cambios en cada elemento del mismo nivel. Durante la sesión de sincronización actual, el comando proporciona un nuevo valor de marca de tiempo. Se sincronizan los cambios realizados después del valor de marca de tiempo procedente de la sesión de sincronización anterior y antes del nuevo valor de marca de tiempo. El nuevo valor se almacena y se utiliza como valor inicial de la siguiente sesión.

Ejemplo

En el ejemplo de código siguiente se especifica un comando que recupera un nuevo valor timestamp de un elemento del mismo nivel. En este caso, MIN_ACTIVE_ROWVERSION devuelve un valor timestamp de una base de datos SQL Server. (MIN_ACTIVE_ROWVERSION se introdujo en SQL Server 2005 Service Pack 2.) Se usa un valor de marca de tiempo porque las columnas de seguimiento de la base de datos del mismo nivel contienen valores de timestamp. Para consultar este código en el contexto de un ejemplo completo, vea Aprovisionar una base de datos servidor para la sincronización de colaboración (no SQL Server).

SqlCommand selectNewTimestampCommand = new SqlCommand();
string newTimestampVariable = "@" + DbSyncSession.SyncNewTimestamp;
selectNewTimestampCommand.CommandText = "SELECT " + newTimestampVariable + " = min_active_rowversion() - 1";
selectNewTimestampCommand.Parameters.Add(newTimestampVariable, SqlDbType.Timestamp);
selectNewTimestampCommand.Parameters[newTimestampVariable].Direction = ParameterDirection.Output;

sampleProvider.SelectNewTimestampCommand = selectNewTimestampCommand;
Dim newTimestampVariable As String = "@" + DbSyncSession.SyncNewTimestamp

Dim selectNewTimestampCommand As New SqlCommand()

With selectNewTimestampCommand
    .CommandText = "SELECT " + newTimestampVariable + " = min_active_rowversion() - 1"
    .Parameters.Add(newTimestampVariable, SqlDbType.Timestamp)
    .Parameters(newTimestampVariable).Direction = ParameterDirection.Output
End With

sampleProvider.SelectNewTimestampCommand = selectNewTimestampCommand

Vea también

Referencia

DbSyncProvider Clase
DbSyncProvider Miembros
Microsoft.Synchronization.Data Espacio de nombres