Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-11-2013
Avatar de DarkBlue
DarkBlue DarkBlue is offline
Miembro
 
Registrado: jun 2010
Posts: 105
Poder: 14
DarkBlue Va por buen camino
Question mantener vivos los datos de un TAdoQuery

Hola companeros me he dado cuenta que si mantienes abierta una conexion (tadoconetion) eventualmente el tiempo de vida de la conexion expirara(aun no se cuanto tiempo tengo de vida de conexion). Para evitar este problema intente cerrar la conexion una ves ejecutando la consulta pero los datos de la query se borran y necesito mostrarlos en un grid(se borran del grid de igual manera).

PREGUNTA

que puedo hacer para evitar este problema ?

muchas gracias comunidad les deseo un buen dia
__________________
Todo es Relativo
Responder Con Cita
  #2  
Antiguo 30-11-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola DarkBlue.

No uso ADO para mis desarrollos por lo que no se me ha presentado una situación similar. Pero según leo de lo que comentas, pareciera que ya sea por fallos de comunicación, energía, tiempo de inactividad, etc en ocasiones, el TADOConnection pierde la conexión con el servidor.

Se me ocurren dos opciones pero lamento no tener la experiencia necesaria con ADO como para asegurar que funcionen, así que vas a tener que probarlas...

Usar el evento AfterDisconnect:
Código Delphi [-]
procedure TForm1.ADOConnection1AfterDisconnect(Sender: TObject);
begin
  ADOConnection1.Connected := True;
end;

Usr un TTimer (esta solución sería mas pobre ya que realiza pooling cada un minuto):
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  Timer1.Interval := 1000*60; 
  Timer1.Enabled := True;
end;

...

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  with ADOConnection1 do
    if not Connected then
      Open;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 05-12-2013
Avatar de DarkBlue
DarkBlue DarkBlue is offline
Miembro
 
Registrado: jun 2010
Posts: 105
Poder: 14
DarkBlue Va por buen camino
excelente

hola estimado amigo muchas gracias por responder me has dado mas ideas, en estos momentos estare probando tu solucion y te contare los resultados
__________________
Todo es Relativo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
como mantener una copia de la base de datos en otro equipo de la red hibero Firebird e Interbase 6 02-11-2010 22:51:07
Array de TList. ¿Cómo mantener datos? Bauhaus1975 OOP 2 01-03-2009 21:22:24
"Se entrenaban para matar picando campesinos vivos" gatosoft La Taberna 12 25-04-2007 04:41:52
Mantener actualizadas dos bases de datos mar646 Firebird e Interbase 0 05-01-2005 16:52:33
Usar datos originados por TADOQuery Draco Conexión con bases de datos 4 30-04-2004 06:35:56


La franja horaria es GMT +2. Ahora son las 19:58:25.


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
Copyright 1996-2007 Club Delphi