Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-03-2005
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 09-03-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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

Última edición por roman fecha: 09-03-2005 a las 01:55:35. Razón: Ampliación
Responder Con Cita
  #3  
Antiguo 09-03-2005
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
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ú
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 08:55: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
Copyright 1996-2007 Club Delphi