Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Aveces guardo y otras no.. (https://www.clubdelphi.com/foros/showthread.php?t=8661)

Aura 29-03-2004 18:32:02

Aveces guardo y otras no..
 
Hola: Tengo un pequeño problema y espero alguno de ustedes me pueda ayudar, estoy haciendo una aplicación en Delphi 6 y mis tablas estan en paradox usando el DBDesktop, para insertar o modificar utilizo solo querys(TQuery) el problema :confused: esta en que yo ejecuto la aplicación y todo se guarda, modifica y consulta correctamente, y puedo cerrar la aplicación con la certeza de que al consultar mis tablas voy a encontrar mis datos correctamente, :p pero si se llega a ejecutar un error en ejecución sea cual sea y cierro mi aplicacion, ya nada es guardado, inlcuso a veces despues de cerrar la aplicación consulto las tablas y si esta la información guardada pero si reinicio la máquina me aparece solo lo que habia antes y no lo nuevo:mad: , he intentado con varias instrucciones y nada parece funcionarme. Espero que alguien me pueda informar de alguna instrucción que realmente mande a guardar en disco en el momento en que se lo indico. Mil gracias por su ayuda y su tiempo.

Gydba 30-03-2004 21:53:47

Parece ser un tema de post o commit. Lo mejor sería que busques en los foros (incluidos los viejos) para ver que encontrás.

Aura 31-03-2004 00:40:34

mil gracias por tu respuesta sin embargo eso ya lo intente y :) si he estado leyendo otros hilos, sin embargo nada parece funcionarme. Gracias por tu ayuda.

eduarcol 31-03-2004 00:45:38

Pues la verdad es que yo comenzaria por cambiar los Query por Table, ya que estos ultimo estan diseñados especificamente para el trabajo con el BDE, de resto no se que decirte :S :confused:

jachguate 31-03-2004 02:10:15

No creo que tenga que ver con TQuery o TTable. De hecho, yo te recomiendo mas el uso de TQuery que de TTable... por eso de acotar las consultas y demás.

Si podes ver los datos desde fuera de la aplicación, o en otra instancia de la misma, significa que estos han sido aplicados a la BD. Si luego de resetear, no podes verlos... entonces hay algo mas que está regresandote las versiones anteriores de tus archivos... ya te fijaste en la fecha y hora???

Quizas algo como SystemRestore esté actuando alli... Desactivá el cache de discos en todas las únidades también, para asegurarte que no se están quedando los cambios en un buffer.

Si no has metido mano de transacciones, ni te preocupes por ellas, pues el BDE hace un commit cada vez que se hace un post o un delete... (comportamiento conocido como commit implicito)

El asunto está extraño, y tiene mucho mas que ver con windows u otro software corriendo alli, que con tu propia aplicación.

Hasta luego.

;)

Aura 31-03-2004 03:18:11

:rolleyes: Revisaré los puntos que me comentan y como dice jachguate no creo que sean los querys ya que he leido que para el uso que les estoy dando no existe diferencia alguna entre ellas y las tablas no siendo asi cuando se trata de consultas, en fin lo intentaré, pero siendo un poco mas preguntona si mis modificaciones las realizo con la sentencia update el commit trabaja igual? de todas maneras ya he intentado sin el con él y poniendo en true todas las opciones de los querys para actualizarlo....mil gracias por sus comentarios son muuuyyyy amables.:p

Aura 31-03-2004 18:14:52

hola, bueno he llegado al punto en que no puedo hacer mas por encontrar una manera de confirmar mis cambios en la base de datos, asi que decidi mantener mi base de datos en un servidor el cual no tendrá la aplicación solo se guardara alli la informaciòn de esta manera no importa que suceda en las demas terminales ya que el siempre guarda y como en el no es donde se corre la aplicacion si lo reinicio si marca las modificaciones de los datos. muchisimas gracias por toda su ayuda, realmente me sirvio de mucho.:)

roman 31-03-2004 18:25:59

Al margen del problema en sí me gustaría reafirmar lo dicho por eduarcol. En el caso de Paradox, siempre que se pueda es mejor trabajar con TTable que con TQuery. El rendimiento es mucho mejor en muchas ocasiones ya que Paradox no utiliza los índices definidos en el caso de consultas SQL pero sí cuando se relacionan tablas mediante TTable.

// Saludos

jachguate 31-03-2004 20:22:00

Nunca he trabajado con Paradox... pero en el caso de las bases de datos "reales"... el uso de un TTable genera una consulta del tipo "select * from tabla", lo que podes comprobar con el SQL Monitor...

roman 31-03-2004 20:24:49

Cita:

Empezado por jachguate
Nunca he trabajado con Paradox... pero en el caso de las bases de datos "reales"... el uso de un TTable genera una consulta del tipo "select * from tabla".

¡Exacto! Pero no Paradox no es una base de datos "real"

// Saludos

Aura 31-03-2004 21:01:32

:o Tal vez debi haber usado TTables en lugar de los TQuerys sin embargo ahora por cuestion de tiempo me es imposible convertirlos. de cualquier manera mil gracias por su ayuda y aclaraciones...:)


La franja horaria es GMT +2. Ahora son las 11:07:58.

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