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


Команда 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.

Применимо к

объекта набора записей