Команда resync Property-Dynamic (ADO)
Указывает указанную пользователем командную строку, которая вызывает проблемы с методом resync для обновления данных в таблице с именем уникальной таблицы динамического свойства.
Параметры и возвращаемые значения
Задает или возвращает значение String, которое является командной строкой.
Замечания
Объект Recordset является результатом операции JOIN, выполняемой в нескольких базовых таблицах. Затронутые строки зависят от параметра AffectRecords метода Resync. Стандартный метод 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 = ?"
уникальная таблица — это заказов и его первичный ключ, 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 (?)}"
Еще раз уникальная таблица — это заказы и его первичный ключ, OrderIDпараметризован.
команде Resync Command является динамическим свойством, добавленным к объекту RecordsetProperties, если свойству CursorLocation присвоено значение adUseClient.