Поделиться через


Свойство Resync Command (динамическое) (ADO)

Указывает предоставленную пользователем командную строку, которую вызывает метод Resync для обновления данных в таблице с именем в динамическом свойстве Уникальной таблицы .

Параметры и возвращаемые значения

Задает или возвращает значение String , представляющее собой командную строку.

Комментарии

Объект Recordset является результатом операции JOIN, выполняемой в нескольких базовых таблицах. Затронутые строки зависят от параметра AffectRecords метода Resync . Стандартный метод повторной синхронизации выполняется, если свойства Unique Table и Resync Command не заданы.

Командная строка свойства Resync Command является параметризованной командой или хранимой процедурой, которая однозначно идентифицирует обновляемую строку и возвращает одну строку, содержащую то же количество и порядок столбцов, что и обновляемая строка. Командная строка содержит параметр для каждого столбца первичного ключа в уникальной таблице; В противном случае возвращается ошибка времени выполнения. Параметры автоматически заполняются значениями первичного ключа из обновляемой строки.

Ниже приведены два примера на основе SQL:

1) Набор записей определяется командой:

SELECT * FROM Customers JOIN Orders ON   
   Customers.CustomerID = Orders.CustomerID  
   WHERE city = 'Seattle'  
   ORDER BY CustomerID  

Для свойства Resync Command задано значение:

"SELECT * FROM   
   (SELECT * FROM Customers JOIN Orders   
   ON Customers.CustomerID = Orders.CustomerID  
   city = 'Seattle' ORDER BY CustomerID)  
WHERE Orders.OrderID = ?"  

Уникальная таблицаOrders, а ее первичный ключ OrderID параметризован. Вложенное выделение предоставляет простой способ программного обеспечения того, чтобы возвращалось то же количество и порядок столбцов, что и исходная команда.

2) Набор записей определяется хранимой процедурой:

CREATE PROC Custorders @CustomerID char(5) AS   
SELECT * FROM Customers JOIN Orders ON   
Customers.CustomerID = Orders.CustomerID   
WHERE Customers.CustomerID = @CustomerID  

Метод Resync должен выполнять следующую хранимую процедуру:

CREATE PROC CustordersResync @ordid int AS   
SELECT * FROM Customers JOIN Orders ON   
Customers.CustomerID = Orders.CustomerID  
WHERE Orders.ordid  = @ordid  

Для свойства Resync Command задано значение:

"{call CustordersResync (?)}"  

И снова уникальной таблицей является Orders , а ее первичный ключ OrderID параметризован.

Resync Command — это динамическое свойство, добавляемое к коллекции Свойств объекта Recordset, если свойству CursorLocation присвоено значение adUseClient.

Применение

Объект Recordset (ADO)