Ressincronizar propriedade dinâmica do comando (ADO)
Especifica uma cadeia de caracteres de comando fornecida pelo usuário que o método Resync emite para atualizar os dados na tabela nomeada na propriedade dinâmica Unique Table.
Configurações e valores retornados
Define ou retorna um valor String que é uma cadeia de caracteres de comando.
Comentários
O objeto Recordset é o resultado de uma operação JOIN executada em várias tabelas base. As linhas afetadas dependem do parâmetro AffectRecords do método Resync. O método Resync padrão será executado se as propriedades Unique Table e Resync Command não estiverem definidas.
A cadeia de caracteres de comando da propriedade Resync Command é um comando ou um procedimento armazenado parametrizado que identifica exclusivamente a linha que está sendo atualizada e retorna uma só linha contendo o mesmo número e ordem das colunas da linha a ser atualizada. A cadeia de caracteres de comando contém um parâmetro para cada coluna de chave primária da Unique Table, caso contrário, um erro em tempo de execução é retornado. Os parâmetros são preenchidos automaticamente com os valores da chave primária da linha a ser atualizada.
Veja dois exemplos baseados no SQL:
1) O Recordset é definido por um comando:
SELECT * FROM Customers JOIN Orders ON
Customers.CustomerID = Orders.CustomerID
WHERE city = 'Seattle'
ORDER BY CustomerID
A propriedade Resync Command está definida como:
"SELECT * FROM
(SELECT * FROM Customers JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
city = 'Seattle' ORDER BY CustomerID)
WHERE Orders.OrderID = ?"
A Unique Table é Orders, e a chave primária dela, OrderID, é parametrizada. A subseleção fornece uma forma simples de garantir por meio de programação que o mesmo número e a ordem das colunas sejam retornados pelo comando original.
2) O Recordset é definido por um procedimento armazenado:
CREATE PROC Custorders @CustomerID char(5) AS
SELECT * FROM Customers JOIN Orders ON
Customers.CustomerID = Orders.CustomerID
WHERE Customers.CustomerID = @CustomerID
O método Resync deve executar o seguinte procedimento armazenado:
CREATE PROC CustordersResync @ordid int AS
SELECT * FROM Customers JOIN Orders ON
Customers.CustomerID = Orders.CustomerID
WHERE Orders.ordid = @ordid
A propriedade Resync Command está definida como:
"{call CustordersResync (?)}"
Mais uma vez, a Unique Table é Orders, e a chave primária dela, OrderID, é parametrizada.
Resync Command é uma propriedade dinâmica acrescentada à coleção Properties do objeto Recordset quando a propriedade CursorLocation é definida como adUseClient.