Resync Command Property-Dynamic (ADO)
Spécifie une chaîne de commande fournie par l’utilisateur que la méthode Resync émet pour actualiser les données de la table nommée dans la table Table unique propriété dynamique.
Paramètres et valeurs de retour
Définit ou renvoie une valeur String qui est une chaîne de commande.
Remarques
L’objet Recordset est le résultat d’une opération JOIN exécutée sur plusieurs tables de base. Les lignes affectées dépendent du paramètre AffectRecords de la méthode Resync. La méthode Resync standard est exécutée si les propriétés table unique et commande resync ne sont pas définies.
La chaîne de commande de la propriété Resync Command est une commande paramétrable ou une procédure stockée qui identifie de manière unique la ligne actualisée et retourne une seule ligne contenant le même nombre et l’ordre des colonnes que la ligne à actualiser. La chaîne de commande contient un paramètre pour chaque colonne de clé primaire du table unique; sinon, une erreur d’exécution est retournée. Les paramètres sont automatiquement renseignés avec les valeurs de clé primaire de la ligne à actualiser.
Voici deux exemples basés sur SQL :
1) Le jeu d’enregistrements est défini par une commande :
SELECT * FROM Customers JOIN Orders ON
Customers.CustomerID = Orders.CustomerID
WHERE city = 'Seattle'
ORDER BY CustomerID
La propriété Resync Command est définie sur :
"SELECT * FROM
(SELECT * FROM Customers JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
city = 'Seattle' ORDER BY CustomerID)
WHERE Orders.OrderID = ?"
Le table unique est Orders et sa clé primaire, OrderID, est paramétrée. La sous-sélection permet de s’assurer par programmation que le même nombre et l’ordre des colonnes sont retournés par la commande d’origine.
2) Le jeu d’enregistrements est défini par une procédure stockée :
CREATE PROC Custorders @CustomerID char(5) AS
SELECT * FROM Customers JOIN Orders ON
Customers.CustomerID = Orders.CustomerID
WHERE Customers.CustomerID = @CustomerID
La méthode Resync doit exécuter la procédure stockée suivante :
CREATE PROC CustordersResync @ordid int AS
SELECT * FROM Customers JOIN Orders ON
Customers.CustomerID = Orders.CustomerID
WHERE Orders.ordid = @ordid
La propriété Resync Command est définie sur :
"{call CustordersResync (?)}"
Une fois de plus, la table unique est Orders et sa clé primaire, OrderID, est paramétrée.
Commande Resync est une propriété dynamique ajoutée à l’objet RecordsetCollection Properties lorsque la propriété CursorLocation est définie sur adUseClient.