Programación General > Delphi

 Problemas Al Actulizar Ibquery

(1/1)

Isnel:
Amigos, quiero hacer una aplicación que me mantenga actulizado a traves de una DBGrid, cada vez que otra aplicación le inserte un registro a una tabla de una base de datos en InterBase.

Le agrego a un formulario las componentes
TIBDatabase
TIBTransaction
TIBQuery
TDBGrid  
TDataSource
TIBEvents (Para que me avice cuando se le ha insertado un registro a la tabla)


--- Código: Text ---object Form1: TForm1  object DBGrid1: TDBGrid    DataSource = DataSource1  end   object IBDatabase1: TIBDatabase    Connected = True    DatabaseName = 'd:\Datos\DataBase.GDB'    Params.Strings = (      'user_name=SYSDBA'      'password=masterkey')    LoginPrompt = False    DefaultTransaction = IBTransaction1    IdleTimer = 0    SQLDialect = 3  end   object IBTransaction1: TIBTransaction    Active = True    DefaultDatabase = IBDatabase1    AutoStopAction = saNone  end   object IBQuery1: TIBQuery    Database = IBDatabase1    Transaction = IBTransaction1    Active = True    BufferChunks = 1000    CachedUpdates = False    SQL.Strings = (      'select * from SMDRP order by ID desc')  end   object IBEvents1: TIBEvents    AutoRegister = True    Database = IBDatabase1    Events.Strings = (      'New_Record')    Registered = False    OnEventAlert = IBEvents1EventAlert  end   object DataSource1: TDataSource    DataSet = IBQuery1  endend 
En el evento OnEventAlert de IBEvent1 pongo


--- Código: Text --- procedure TForm1.IBEvents1EventAlert(Sender: TObject; EventName: String;  EventCount: Integer; var CancelAlerts: Boolean);begin    IBQuery1.Close;    IBQuery1.Open;end;  
Pero algo está pasando que la DBGrid siempre muestra lo mismo, aunque se ejecute el procedure IBEvents1EventAlert.

Ayla:
Hola Isnel!

Creo que te falta hacer el comit de la transacción:

Prueba a poner en el evento AfterPost del IBQuery:


--- Código: Text ---IBTransaction1.Commit; 

Espero que sea eso. Un saludo. :hola:

Navegación

[0] Índice de Mensajes

Ir a la versión completa