TProvider


Suministra datos y aplica modificaciones desde un ClientDataSet. Este componente se utiliza en aplicaciones multi-tier y son localizados en la parte servidora. Este componente es el que nos permite la comunicación entre la parte servidora y el TclientDataSet. El Tprovider suministra un paquerte de datos al TclientDataSet. El ClientDataSet recibe el paquete de datos y los reconstruye para crear en local una copia de los datos para que el usuario pueda acceder. Una vez que el usuario accede a estos datos el TclientDataSet se encarga de empaquetar las modificaciones para enviarlas al servidor. El Tprovider resuelve los errores cuando sea posible y si no puede envia registros que no se grabaron al TclientDataSet. Tprovider ofrece un interface Iprovider que puede ser utilizado por el TclientDataSet, pero este no puede acceder directamente a las propiedades y a los métodos del provider.
 

Propiedad
Definición
 DataSet  Especifica al componente TdataSet de la aplicación servidora, al cuál 
 accedera para coger los datos que pida el cliente.
 ResolveToDataSet  Especifica si las modificaciones deberian de ser aplicadas al dataset o 
 directamente al servidor de bases de datos.
 UpdateMode  Indica como los registros serán grabados. Si se graban todos los campos, 
 solamente los campos claves que hayan sido modificados.
 Options  Personalizar como el provider se comunica con el ClientDataSet, podemos
 especificar: .Si los datos blob son incluidos en el paquete de datos o  
 enviados  separadamente.
                   . Si se incluye los formatos, visualiza nombres y valores maximos 
 y  minimos de los componentes Tfield. 
                   . Si los paquetes de datos son  enviados de solo lectura. 
                   . Si las modificaciones de los registros de las tablas maestra 
 deben causar las modificaciones de las tablas detalles automaticamente.
 Resolver  Cuando el método applyupdates es llamado, el provider automaticamente 
 crea un componente Resolver si el valor de resolver es nil. Una vez llamado 
 el método Applyupdates, la propiedad Resolver es establecida (Se utiliza 
 por si la modificación de datos en el servidor no es correcta)
 Data  Es una propiedad de solo-lectura. 
 Provider  Es una propiedad de solo lectura que apunta al interface Iprovider para 
 establecer la comunicación.
Método
Definición
 ApplyUpdates  Aplica las modificaciones recibidas desde un clientDataset. Mediante este 
 método podemos especificar el número de errores maximos que pueden ser 
 aplicados antes de lanzar una excepción. Este método retorna un paquete de 
 datos con los registros que no pudieran ser grabados.
 FetchData  Retorna los valores de los campos BLOB por campos detalles para un registro 
 especifico.
 Reset  Indica que el siguiente paquete de registros debería contener registros desde el 
 comienzo del dataset. Se puede utilizar para la eliminación de un filtro anterior.
 SetParams  Paso de parámetros para aplicar a los datos asociados
 GetRecords  Coger un paquete de datos.
Eventos
Definición
 OnGetDataSetProperties  Especifica el dataset desde el cual el provider suministra datos y al 
 cual aplica los cambios. Podemos utilizar este evento para incluir 
 información en el paquete de datos. El parametro Dataset especifica el 
 dataset origen que representa el paquete de datos y retorna 
 información  personalizada. Esta información es de tipo variant, es un 
 array de Variant. Cada miembro de este array representa un item que 
 puede ser retraido utilizando GetOptionalParam. Este item debe ser 
 especificado como un array de tres elementos: Una cadena que 
 representa el nombre utilizado después para coger la información. El 
 valor que puede ser cogido (Variant).Un booleano que indica si la 
 información es enviada después del paquete de datos.
 OnGetData  Ocurre cuando el Tprovider coge datos pero se produce antes de que 
 los datos sean enviados al cliente.

Ejemplo


(C) 1999 Database DM. la reproduccion total o parcial de este documento, asi como la dibulgacion de parte o la totalidad