![]() |
Actualizacion de datos
Me está sucendiendo algo que estoy flipando.
Tengo unos dbedit controlados por un dbnavigator, que están conectados a una tabla cuyos campos modifico a través del programa a mi antojo, pero cuando cierro el programa resulta que ninguno de los cambios se ha guardado, es como si no hubiera estado haciendo nada. ¿Alguien lo entiende??????? :confused: :confused: |
Bueno te queda decirnos con que tablas trabajas.
Te faltará: FlushBuffers si se trata de Paradox o en otros casos: Commit Y convendría que mostrarás el código con el que supuetamente guardas los datos. Un Saludo. |
Perdona, pero es tal el estado de nervios en que me está poniendo el programa que he dado por sabido todos esos puntos.
Se trata de una Base de Datos Informix y no apenas utilizo código, puesto que es tan sumamente simple lo que llevo echo q apenas me ha hecho falta, y lo que utilizo es para dar valores a variables. Estoy desconcertado!!!!! |
Hola.
Realmente hay muy poca información como para saber por donde va el error. Supongo que haces un dataset.edit o bien dataset.insert antes de "modificar los campos a tu antojo". Lo que no has aclarado, es si haces Post sobre estos datasets. Tampoco has indicado que componentes usas para conectarte, y es probable que no tengan transacciones implicitas, con lo que te faltaría hacer commit (como ha lo ha dicho marcos). Hasta luego. ;) |
El problema estaba en la propiedad CachedUpdate que la tengo puesta a True para poder acceder a los valores antiguos del registro:
Query1.Fields[i].OldValue. De este modo, todo quedaba en cache hasta que utilice Query1.FlushBuffers Muchas gracias por su tiempo. |
Entiendo que de hecho, todo aquello mantenido en cache, debiera ser vaciado a la base de datos con el método ApplyUpdates, y no con FlushBuffers. Además, en el contexto de una transacción.
Te recomiendo revisar tu aplicación. Hasta luego. ;) |
Tienes razón, con FlushBuffers no me hace el volcado de la cache, a pesar de dar esa impresión a primera vista.
He optado por utilizar Query1.ApplyUpdates pero me da un error diciendome lo siguiente: "Exception class EDBEngineError with message 'Capability not supported' .... " Sabés porque puede ser??? |
jachguate, ruego que me disculpes.
Al utilizar ApplyUpdates el refresco de cache es perfecto, la aplicación funciona a las mil maravillas. De nuevo te agradezco el tiempo prestado. |
La franja horaria es GMT +2. Ahora son las 00:45:34. |
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