TClientDataSet




Este componente nos permite conectarnos con el interface que nos suministrara los datos desde la aplicación servidora. Además de esta utilización lo podemos utilizar en aplicaciones que no sean multi-tier.

Veamos algunas propiedades y métodos de este componente:
 

Propied ad
Definición
 ActiveAggs  Lista los campos agregados dentro de un grupo. Si no hay valores devuelve 
 una lista vacia.
 Aggregates  Se utiliza para definir campos agregados. Esta propiedad es una colección de 
 objetos Taggregates, cada uno de los cuales definen una formula para calcular 
 todos los registros de un dataset o subgrupos de registros. Esta propiedad 
 suma un subgrupo de registros asociados con indices y pueden solamente ser 
 usados cuando el indice esta activo.
 AggregatesActive  Utilizamos para indicar cuando el clientDataSet debería mantener valores 
 agregados. Si es False el ClientDataSet no soporta agregados mantenidos. Si 
 es true el ClientDataSet calcula y mantiene todos los valores agregados 
 especificados en la propiedad Aggregates. Cuando es mantenido, el método 
 value retorna un valor que refleja los datos actuales en el Client Dataset. 
 Cuando el usuario edita los datos en el dataset, esos valores son recalculados 
 para reflejar los cambios de los clientes.
 ChangeCount  Indica el número de cambios realizados en el ClientDataSet.
 Data  Representa los datos del ClientDataSet en un formato transparente. Se utiliza 
 para recibir y acceder a los paquetes de datos de un Provider. Para 
 aplicaciones multi-tier los paquetes de datos son recibidos desde el servidor. 
 Por ejemplo una aplicación multi-tier podemos acceder al servidor y guardar 
 los datos en la propiedad Data: with ClientDataSet do Data:=Provider.data;
 DataSetField   Se utiliza cuando queremos utilizar otro TclientDataSet donde tenemos datos.
 Delta  Representa un paquete de cambios (se utiliza para pasar los cambios 
 realizados por el cliente al servidor). Si los cambios son agregados 
 correctamente la propiedad Delta queda vacia. Si hay algún error el contenido 
 de esta propiedad varia dependiendo del error. En aplicaciones de un solo 
 nivel, Delta es limpiado cuando los cambios pasan a la propiedad Data 
 utilizando el método MergeChangeLog.
 FetchOnDemand  Se utiliza en conjunción con el método GetNextPackage. Si la propiedad 
 esta  a False, se visualizara x registros (dependiendo de la propiedad 
 packageRecord), y si queremos pasar a los registros siguientes utilizaremos el 
 método GetNextPackage.
 FileName  Indicamos el nombre del fichero donde se almacenan los datos.
 KeyExclusive  Para especificar si o no un rango incluye o excluye un número de registros. Si 
 esta a False lo que hace es un rango entre el máximo y el mínimo.
 KeyFieldCount  Especificar el número de campos por los que buscar. Ejemplo si una clave 
 primaria esta compuesta por tres campos y queremos solo buscar por el 
 primero, ponemos esta propiedad a 0, si es por el primero más el segundo a  
 1 y si es por todos a 2. Por defecto incluye todos los campos.
 KeySize  Tamaño de campos correspondiente a los campos de búsqueda.
 LogChanges  Si es true los cambios pasan a la propiedad Data y después pueden ser 
 grabados, si es false no podrán ser grabados.
 PacketRecords  Especificar el número de registros a visualizar o mejor dicho a coger del 
 servidor. Si es -1 son todos. Si es 0 la aplicación retornara toda la  
 información de la estructura como tabla,columna, constraint y domains.
 Params  Se utiliza cuando trabajamos sobre todo con multi-tier y tenemos un Tquery 
 en el servidor y desde la aplicación cliente necesitamos obtener unos registros 
 dados unos valores. Si el ClientDataSet esta activo (al activar se envian los 
 params al servidor) y modificamos dicha propiedad, para que se envie al 
 servidor hay que utilizar el método SendParams. Hay que asignar al 
 parametro el mismo nombre,tipo de dato y tipo de parametro como el 
 parametro correspondiente del Tquery o TstoredProc de la aplicación  
 servidora. Si deseamos utilizar esta propiedad con un Table tendremos que 
 modificar la propiedad parameter de cada campo del Ttable. En la aplicación 
 servidora habra que utilizar el método FetchParams para reflejar los 
 parametros del Tquery o TstoredProc.
 Provider  Unirlo con el Tprovider
 RemoteServer  Utilizado en aplicaciones Multi-tier
 SavePoint  Representa el estado actual de edición. Se utiliza para salvar los cambios y 
 volver al estado de edidición.
 StoreDefs  Indica si la definición de los campos y los indices son salvados con el 
 ClientDataset. Si es true son salvados.
 AggFields  Contiene los campos agregados
 Found  Si la llamada a FindFirst, FindLast,FindNext o FindPrior. Es satisfactoria.
Método
Definición
 AddIndex  Crea un indice. Los parámetros son: 
      .Name .- Nombre del indice
      .Fields .- Lista de campos para el indice separado por ;
      .Options .- ixDescending (alfanumerico descendiente) 
                    .- ixCaseInsensitive (Ignorar mayusculas y minusculas) 
      .DescFields .- Se utiliza en lugar de options (para especificar que campos
                            ordena es descendiente, los demás seran ascendientes). 
      .CaseInsFields .- Es igual que DescFields pero para ixCaseInsensitive.
      . GroupingLevel .- Nivel de agrupación soportado por el indice. Cuando 
                                   el ClientDataSet utiliza este indice, la información 
                                   agrupada esta disponible para subgrupos definidos 
                                   para los campos del GroupingLevel. Es un valor 
                                   desde 0 hasta el número de campos del indice.
 FetchBlobs  Se utiliza para incluir los datos de los campos BLOB por si el servidor 
 deshabilito esta opción.
 FetchDetail  Igual a FetchBlobs (conjunto de datos detalles)
 FetchParams  Devuelve los valores de los parametros de la aplicación servidora. (Puede 
 servir a la hora de utilizar la propiedad params del TclientDataSet.
 GetOptional Param  Retrae información personalizada sobre un conjunto de registros.
 Reconcile  Es llamada después de realizar un ApplyUpdates para ver los posibles 
 errores que ocurrieron en el proceso de actualización. Este método genera  
 el evento OnReconcileError, por lo tanto en lugar de utilizar este método 
 que se produce al realia Apply Updates, activaremos el evento 
 onReconcileError para ver los errores.
 RevertRecord  Para volver a ver los datos anteriores, antes de que se modificara el registro.
 SendParams  Envia la propiedad params a la aplicación servidora.

EJEMPLOS


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