Ver Mensaje Individual
  #4  
Antiguo 01-06-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Es un parámetro Variant, por lo que puede almacenar cualquier cosa. Pero evita pasar punteros u objetos si el conjunto de datos cliente y el objeto proveedor no comparten el mismo espacio de memoria (como cuando son ejecutables distintos).

Se utiliza raramente. Yo lo usé en cierta ocasión para identificar al conjunto de datos cliente ante el proveedor, pues tenía varios conectados al mismo TDataSetProvider.

Puede ser empleado para señalar algún parámetro o condición especial que le sirva al proveedor antes y después de enviar los cambios a la base de datos, como "esto pásalo sin validarlo, porque viene de un proceso automatizado", "anota estos cambios en la bitácora", "envía notificación por correo electrónico", "no elimines estos registros físicamente, márcalos como cancelados", "solicita autorización", "de regreso dime cuántos pedidos hay pendientes de atención", y un sinfín de usos.

Para validar la obligatoriedad de los campos, generalmente dejo que sea el servidor de base de datos quien lo haga (pongo en False la propiedad Required de los campos TField), manejando la excepción con el evento OnReconcileError y mostrando un mensaje claro para el usuario. Nunca se sabe cuándo activaremos o desactivaremos el atributo "Not Null" de un campo; en este sentido, la base de datos manda.
Responder Con Cita