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