Свойство 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.