Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Dbf/Ntx en RemoteDataModule/DataSetProvider (https://www.clubdelphi.com/foros/showthread.php?t=19251)

StartKill 09-03-2005 01:14:59

Dbf/Ntx en RemoteDataModule/DataSetProvider
 
Wnas foros

Trabajo con D7 y me surge la necesidad de actualizar una tablas tipo DBF y Indices tipo NTX.

La actualizacion debe ser remota, para ello estoy utilizando un RemoteDataModule, un componete llamado VKDBFNTX y un DataSetProvider pero tengo algunos problemas para insertar y editar filas, parece ser que este componente no fue creado para tal causa ;-).

para ser mas concreto:
Al editar una fila, y si esta no tiene datos en todos los campos ocurre un error- (el error es que no encuentra el registro a actualizar)

Al insertar: No lo hace cuando no estan todos los campos llenos

Ojo:Este mismo componente lo eh probado en un formulario normal y sin problemas de los mencionados, razon por la cual sospecho que este componente no fue creado para los fines que busco (comunicion remota)

Mi pedido es: Alguien conoce algun componente para actualizar DBF/NTX para utizarlos en RemoteDataModule con un DataSetProvider???

Your friend

StartKill
Lima-Perú

Nota:Tambien estaria contento si hubiera otros componente para tablas tipo dbf/ntx-no necesariamente para ser utilizados en RemoteDataModule con un DataSetProvider

roman 09-03-2005 01:48:57

No estoy muy seguro pero creo que puedes intentar poniendo la propiedad UpdateMode del provider en upWhereKeyOnly. Claro que, como mínimo, el registro en edición debe proveer los campos que correspondan a la llave de la tabla.

EDITO

Cita:

Empezado por StartKill
Ojo:Este mismo componente lo eh probado en un formulario normal y sin problemas de los mencionados, razon por la cual sospecho que este componente no fue creado para los fines que busco (comunicion remota)

Esto es raro. Hasta donde yo entiendo el dataset no tiene que implementar nada especial para usarse con un RemoteDataModule ya qe la comunicación remota la hace el Provider. Lo único que tiene que hacer el dataset es implementar la interfaz IProviderSupport y esto sólo para entenderse con el Provider, que vive en el mismo lugar que el dataset. Pero si dices que localmente te ha funcionado es que sí implementa dicha interfaz. En definitiva creo que debe tratarse de algún ajuste en el Provider y no en el dataset.

// Saludos

StartKill 09-03-2005 21:45:33

Hola foro

:( , no eh podido solucionar mi problema, eh hecho como indicas roman.

Cita:

Empezado por roman
No estoy muy seguro pero creo que puedes intentar poniendo la propiedad UpdateMode del provider en upWhereKeyOnly. Claro que, como mínimo, el registro en edición debe proveer los campos que correspondan a la llave de la tabla.

El error que envia es el siguiente:

Cita:

Unable to find record. No key especified
Donde pondria el campo clave, en que propiedad?.

Debo recordar que el componente que utilizo VKDBFNTX no usa sentencias SQL razon por la cual tengo la propiedad revolver det provider en true

Cuando cambio el valor del UpdateMode=upWhereAll, el error que me lanza es:

Cita:

Record no found or change by another user
Y ese regitro no ha sido modificado por ningun otro cliente.

Intente ver lo que contenia los valores DeltaDS y SourceDS en el evento BeforeUpdateRecord, observe que cuando voy a modificar un registro que ya tiene todos los campos llenos, los valores de los campos de SourceDS con cherentes con mi data y los valores DeltaDS tambien son correctos y no salta ningun error.

Pero cuando modifico algun registro y este ya tiene algunos campos vacios me lanza el error indicado y los valores del SourceDS son vacios, los verifique asi SourceDS.Fields[1,2,3...].asString dandome una cadena vacia, pero los valores del DeltaDS estan correctos.

Your friend


StartKill
Lima-Perú


La franja horaria es GMT +2. Ahora son las 18:53:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi