Compartilhar via


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.

Aplica-se A

Objeto Recordset (ADO)