Resync Command – dynamische Eigenschaft (ADO)
Gibt eine von den Benutzer*innen bereitgestellte Befehlszeichenfolge an, die die Resync-Methode zum Aktualisieren von Daten in der Tabelle ausgibt, die mit der dynamischen Eigenschaft Unique Table benannt wurden.
Einstellungen und Rückgabewerte
Legt einen Zeichenfolgenwert fest, der eine Befehlszeichenfolge ist, oder gibt ihn zurück
Bemerkungen
Das Recordset-Objekt ist das Ergebnis eines JOIN-Vorgangs, der auf mehreren Basistabellen ausgeführt wurde. Die betroffenen Zeilen hängen vom Parameter AffectRecords der Resync-Methode ab. Die Standard-Resync-Methode wird ausgeführt, wenn die Eigenschaften Unique Table und Resync Command nicht festgelegt sind.
Die Befehlszeichenfolge der Eigenschaft Resync Command ist ein parametrisierter Befehl oder eine gespeicherte Prozedur, die die zu aktualisierende Zeile eindeutig identifiziert. Außerdem gibt sie eine einzelne Zeile zurück, die dieselbe Anzahl und Reihenfolge von Spalten enthält, wie die zu aktualisierende Zeile. Die Befehlszeichenfolge enthält einen Parameter für jede Primärschlüsselspalte in Unique Table, andernfalls wird ein Laufzeitfehler zurückgegeben. Die Parameter werden automatisch mit Primärschlüsselwerten aus der Zeile ausgefüllt, die aktualisiert werden soll.
Hier sehen Sie zwei Beispiele, die auf SQL basieren:
1) Das Recordset ist durch einen Befehl definiert:
SELECT * FROM Customers JOIN Orders ON
Customers.CustomerID = Orders.CustomerID
WHERE city = 'Seattle'
ORDER BY CustomerID
Die Eigenschaft Resync Command ist auf Folgendes festgelegt:
"SELECT * FROM
(SELECT * FROM Customers JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
city = 'Seattle' ORDER BY CustomerID)
WHERE Orders.OrderID = ?"
Unique Table ist auf Orders festgelegt, und der Primärschlüssel, OrderID, ist parametrisiert. Die Unterauswahl bietet eine einfache Möglichkeit, programmgesteuert sicherzustellen, dass dieselbe Anzahl und Reihenfolge von Spalten wie beim ursprünglichen Befehl zurückgegeben werden.
2) Das Recordset wird durch eine gespeicherte Prozedur definiert:
CREATE PROC Custorders @CustomerID char(5) AS
SELECT * FROM Customers JOIN Orders ON
Customers.CustomerID = Orders.CustomerID
WHERE Customers.CustomerID = @CustomerID
Die Methode Resync sollte die folgende gespeicherte Prozedur ausführen:
CREATE PROC CustordersResync @ordid int AS
SELECT * FROM Customers JOIN Orders ON
Customers.CustomerID = Orders.CustomerID
WHERE Orders.ordid = @ordid
Die Eigenschaft Resync Command ist auf Folgendes festgelegt:
"{call CustordersResync (?)}"
Unique Table ist wieder auf Orders festgelegt, und der Primärschlüssel, OrderID, ist parametrisiert.
Resync Command ist eine dynamische Eigenschaft, die an die Properties-Sammlung des Recordset-Objekts angefügt wird, wenn die Eigenschaft CursorLocation auf adUseClient festgelegt ist.