Partager via


Classe SyncParameter

Encapsule les informations envoyées du client vers le serveur.

Espace de noms: Microsoft.Synchronization.Data
Assembly: Microsoft.Synchronization.Data (dans microsoft.synchronization.data.dll)

Syntaxe

'Déclaration
<SerializableAttribute> _
Public Class SyncParameter
'Utilisation
Dim instance As SyncParameter
[SerializableAttribute] 
public class SyncParameter
[SerializableAttribute] 
public ref class SyncParameter
/** @attribute SerializableAttribute() */ 
public class SyncParameter
SerializableAttribute 
public class SyncParameter

Notes

Les paramètres de synchronisation sont en général utilisés pour passer des informations de filtrage à l'agent de synchronisation. Ces paramètres sont ensuite utilisés dans des commandes pour l'adaptateur de synchronisation.

Exemple

L'exemple de code suivant provient d'une classe qui dérive de SyncAgent. Ce code crée un objet SyncParameter qui spécifie une valeur pour le paramètre @SalesPerson. Dans une application, cette valeur peut être issue d'un nom d'accès ou d'une autre entrée utilisateur. Pour afficher le code dans le contexte d'un exemple complet, consultez Procédure : filtrer des lignes et des colonnes.

this.Configuration.SyncParameters.Add(
    new SyncParameter("@SalesPerson", "Brenda Diaz"));
Me.Configuration.SyncParameters.Add(New SyncParameter("@SalesPerson", "Brenda Diaz"))

L'exemple de code suivant provient d'une classe qui dérive de DbServerSyncProvider. Ce code spécifie les lignes et les colonnes insérées à télécharger pour la table Customer. Vous pouvez coder en dur une valeur de SalesPerson. Cependant, un paramètre dont la valeur peut être modifiée est généralement utilisé (comme l'illustre l'exemple). L'exemple transmet le paramètre de filtre ainsi que les autres paramètres qui sont requis pour télécharger les insertions incrémentielles.

SqlCommand customerIncrInserts = new SqlCommand();
customerIncrInserts.CommandText =
    "SELECT CustomerId, CustomerName, CustomerType " +
    "FROM Sales.Customer " +
    "WHERE SalesPerson = @SalesPerson " +
    "AND (InsertTimestamp > @sync_last_received_anchor " +
    "AND InsertTimestamp <= @sync_new_received_anchor " +
    "AND InsertId <> @sync_client_id)";
customerIncrInserts.Parameters.Add("@SalesPerson", SqlDbType.NVarChar);
customerIncrInserts.Parameters.Add("@" + SyncSession.SyncLastReceivedAnchor, SqlDbType.Timestamp);
customerIncrInserts.Parameters.Add("@" + SyncSession.SyncNewReceivedAnchor, SqlDbType.Timestamp);
customerIncrInserts.Parameters.Add("@" + SyncSession.SyncClientId, SqlDbType.UniqueIdentifier);
customerIncrInserts.Connection = serverConn;
customerSyncAdapter.SelectIncrementalInsertsCommand = customerIncrInserts;
Dim customerIncrInserts As New SqlCommand()
With customerIncrInserts
    .CommandText = _
        "SELECT CustomerId, CustomerName, CustomerType " _
      & "FROM Sales.Customer " _
      & "WHERE SalesPerson = @SalesPerson " _
      & "AND (InsertTimestamp > @sync_last_received_anchor " _
      & "AND InsertTimestamp <= @sync_new_received_anchor " _
      & "AND InsertId <> @sync_client_id)"
    .Parameters.Add("@SalesPerson", SqlDbType.NVarChar)
    .Parameters.Add("@" + SyncSession.SyncLastReceivedAnchor, SqlDbType.Timestamp)
    .Parameters.Add("@" + SyncSession.SyncNewReceivedAnchor, SqlDbType.Timestamp)
    .Parameters.Add("@" + SyncSession.SyncClientId, SqlDbType.UniqueIdentifier)
    .Connection = serverConn
End With
customerSyncAdapter.SelectIncrementalInsertsCommand = customerIncrInserts

Hiérarchie d'héritage

System.Object
  Microsoft.Synchronization.Data.SyncParameter

Sécurité des threads

Tous les membres publics statiques (Partagés en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Membres SyncParameter
Espace de noms Microsoft.Synchronization.Data