Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   IB no refresca (https://www.clubdelphi.com/foros/showthread.php?t=18597)

1111111 17-02-2005 14:28:16

IB no refresca
 
Hola amigos, les cuento que estoy haciendo una aplicacion en delphi 7 e IB 6.0

Mi problema es el siguiente.

Lleno un combo con datos que saco de un TIBSQL que toma de la tablaX, luego de llenar el combo hago un Commit.
Despues modifico algun dato de la tablaX desde la consola de IB, hago un commit y refresh.

Vuelvo a tratar de llenar el combo y me sigue mostrando los datos viejos, sin las modificaciones que hice desde la consola..

Alguien sabe que puede estar pasando ??

StartKill 17-02-2005 15:38:07

Hola 1's

Vamos por partes
Cita:

Empezado por 1111111
Lleno un combo con datos que saco de un TIBSQL que toma de la tablaX, luego de llenar el combo hago un Commit.

Un commit??, no es necesario hacer un commit depues de llenar el combo, mejor dicho: Un commit es para confirmar los cambios que has hecho.

Cita:

Empezado por 1111111
Despues modifico algun dato de la tablaX desde la consola de IB, hago un
commit y refresh.

Como esta configurado tu IBTransaction??
Te sugiero que los configures asi:
Cita:

read_committed
rec_version
nowait

No sabes como hacerlo??. Facil!, dobleclick al control ibtransacion y elije la segunda opcion.
Te preguntas por que no lee, "lee los viejos datos"..???

Tu programa debe volver a executar tu ibsql para que se actualicen los en memoria.

Te recuerdo, que cuando executas el ibsql este obtendra datos que esten el servidor "confirmados con el commit", eso quiere decir que cuando exista un cambio en dicha tabla por otro cliente este no se reflejara en tu ibsql...ni en tu combo, para que tengas datos actualizados tendras que volver a executar tu ibsql y llenar tu combo.

Espero sirva.

Your friend,

StartKill
Lima-Perú

Sugerencia: Por que no utilizar los componetes DBListBox, DBComboBox, DBLookupListBox, DBLookupComboBox.

1111111 17-02-2005 15:57:27

Sigamos por partes..

Cita:

Empezado por StartKill
Hola 1's

Vamos por partes

Un commit??, no es necesario hacer un commit depues de llenar el combo, mejor dicho: Un commit es para confirmar los cambios que has hecho.

Hago un commit porque no quiero que queden transacciones pendientes.

Cita:

Empezado por StartKill
Como esta configurado tu IBTransaction??
Te sugiero que los configures asi:

Esta configurado como vos decis.

Cita:

Empezado por StartKill
Te preguntas por que no lee, "lee los viejos datos"..???

Tu programa debe volver a executar tu ibsql para que se actualicen los en memoria.

Te recuerdo, que cuando executas el ibsql este obtendra datos que esten el servidor "confirmados con el commit", eso quiere decir que cuando exista un cambio en dicha tabla por otro cliente este no se reflejara en tu ibsql...ni en tu combo, para que tengas datos actualizados tendras que volver a executar tu ibsql y llenar tu combo.

Es exactamente lo que hago y lo que supongo que pase...pero simplemente no pasa....alguna otra idea ??

Cita:

Empezado por StartKill
Espero sirva.

Your friend,

StartKill
Lima-Perú

Sugerencia: Por que no utilizar los componetes DBListBox, DBComboBox, DBLookupListBox, DBLookupComboBox.

No uso esos componentes porque no quiero tener transacciones pendientes contra la base de datos.


Gracias por todo !

1111111 17-02-2005 16:38:02

Bueno, al parecer encontré la solución, instalé los componentes IBX 7.1 y se solucionó el problema.


La franja horaria es GMT +2. Ahora son las 08:11:53.

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