Compartir a través de


Resincronizar comando propiedad dinámicos (ADO)

Especifica una cadena de comandos proporcionada por el usuario que el método Resync emite para actualizar los datos de la tabla denominada en la propiedad dinámica Unique Table.

Configuración y valores devueltos

Establece o devuelve un valor String que es una cadena de comandos.

Comentarios

El objeto Recordset es el resultado de una operación JOIN ejecutada en varias tablas base. Las filas afectadas dependen del parámetro AffectRecords del método Resync. El método Resync estándar se ejecuta si no se establecen las propiedades Unique Table y Resync Command.

La cadena de comando de la propiedad Resync Command es un comando con parámetros o un procedimiento almacenado que identifica de forma única la fila que se está actualizando y devuelve una sola fila que contiene el mismo número y orden de columnas que la fila que se va a actualizar. La cadena de comando contiene un parámetro para cada columna de clave principal de la tabla única; de lo contrario, se devuelve un error en tiempo de ejecución. Los parámetros se rellenan automáticamente con los valores de clave principal de la fila que se van a actualizar.

Estos son dos ejemplos basados en SQL:

1) El Recordset se define mediante un comando:

SELECT * FROM Customers JOIN Orders ON   
   Customers.CustomerID = Orders.CustomerID  
   WHERE city = 'Seattle'  
   ORDER BY CustomerID  

La propiedad Resync Command está establecida en:

"SELECT * FROM   
   (SELECT * FROM Customers JOIN Orders   
   ON Customers.CustomerID = Orders.CustomerID  
   city = 'Seattle' ORDER BY CustomerID)  
WHERE Orders.OrderID = ?"  

La tabla única es Orders y su clave principal, OrderID, se parametriza. La sub-selección proporciona una manera sencilla de asegurarse mediante programación de que el comando original devuelve el mismo número y orden de columnas.

2) El Recordset se define mediante un procedimiento almacenado:

CREATE PROC Custorders @CustomerID char(5) AS   
SELECT * FROM Customers JOIN Orders ON   
Customers.CustomerID = Orders.CustomerID   
WHERE Customers.CustomerID = @CustomerID  

El método Resync debe ejecutar el siguiente procedimiento almacenado:

CREATE PROC CustordersResync @ordid int AS   
SELECT * FROM Customers JOIN Orders ON   
Customers.CustomerID = Orders.CustomerID  
WHERE Orders.ordid  = @ordid  

La propiedad Resync Command está establecida en:

"{call CustordersResync (?)}"  

De nuevo, la tabla única es Orders y su clave principal, OrderID, se parametriza.

Resync Command es una propiedad dinámica anexada a la colección Properties del objeto Recordset cuando la propiedad CursorLocation está establecida en adUseClient.

Se aplica a

Objeto de conjunto de registros (ADO)