Error al grabar registro

Post Reply
User avatar
Manuel Valdenebro
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Error al grabar registro

Post by Manuel Valdenebro »

Comento el tema por si a alguien le ha sucedido y me puede ayudar:

Una aplicación que usan muchos usuarios independientes, en uno de ellos tengo el siguiente poblema:

Al modificar los datos de un registro utilizando DATABASE, al grabarlo, lo hace en otro registro diferente "machacando" los datos y conservando el registro original sin cambios. El ordenador en cuestión es nuevo y con memoria potente. Tiene un procesador AMD.

¿Alguna idea?
Un saludo

Manuel
User avatar
Armando Picon
Posts: 448
Joined: Mon Dec 26, 2005 9:11 pm
Location: Lima, Peru

Post by Armando Picon »

Es posible que tengas un problema de índices. Trata de recrearlos nuevamente o que se regeneren automáticamente cuando se borren.

Hasta ahora no utilizo DATABASE porque no le tengo muchísima confianza.

Saludos

Armando
User avatar
RenOmaS
Posts: 205
Joined: Fri Oct 07, 2005 5:07 pm

Post by RenOmaS »

Si por algun motivo el puntero a la base de datos se mueve... por ejemplo se pinta un browse conectado a la Base de datos..Cuando le des ::Save() en la clase DATABASE, pues te va a grabar en el puntero actual.
Como haces la edicion del registro??

Saludos
User avatar
Manuel Valdenebro
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Post by Manuel Valdenebro »

RenOmaS wrote:Como haces la edicion del registro??
Muy sencilla:

SELE pepito
oDbf := TDataBase():New()
oDbf:Load()

DEFINO un DIALOGO
Varios Get con las variables oDbf:xxx
BOTON ACEPTAR ACTION ( oDbf:save(), oDlg:End() )
BOTON SALIR
ACTIVO DIALOGO

El problema se produce en un ordenador en concreto que por alguna causa (procesador, antivirus, etc) no consigue mantenen la pila.
Un saludo

Manuel
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Manuel,

No tienes un browse por debajo del diálogo ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Manuel Valdenebro
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Post by Manuel Valdenebro »

Antonio Linares wrote:No tienes un browse por debajo del diálogo ?
Antonio,

En el diálogo, tiene un folder con 8 pestañas, 4 de las cuales tienen Listbox, pero con bases de datos diferentes. Una complicación adicional es que en mi ordenador no da error, sino solo en un usuario a 500 kms de distancia. De momento lo he solucionado con una chapucilla, y es antes del DATABASE hago un nRecno := RECNO() y antes del oDbf:SAVE() un DBGOTO (nRecno).

La demo de la aplicación se puede bajar desde http://ciberia.ya.com/lebsoft/descarga.htm

y el error se le produce a este usuario cuando hay varios inquilinos y modifica las condiciones de uno de ellos.
Un saludo

Manuel
User avatar
Ricardo Ramirez E.
Posts: 161
Joined: Wed Jan 25, 2006 10:45 am
Location: Praia - Cape Verde
Contact:

Post by Ricardo Ramirez E. »

Manuel :

Recuerdo... haber pasado con ello.. cuando editada un registro de un oDbf usando la TSbrowse de MM, lo solucioné ocultando el oBrw antes de la edicion y volviendolo a mostrar luego de terminar la edicion del registro.. (antes de mostrar el oDlg con los datos del registro obrw:Hide() y luego de cerrar el odlg ::oBrw:Show())

No se si en la Ver 7.0 de la Tsbrowse ya esta solucionado ello


P.D. Como dato adicional te cuento que el error tambien se daba en pcs con processador Intel.. por lo que pienso que por ahi no van los tiros :)

Saludos.


Ricardo!
Saludos
Ricardo R.
xHarbour 1.1.0 Simplex , Microsoft Visual Studio 2008, Bcc55, Fwh Build. 9.01
User avatar
Manuel Valdenebro
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Post by Manuel Valdenebro »

Gracias Ricardo
Un saludo

Manuel
Post Reply