Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-10-2004
PINO72 PINO72 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Málaga - España
Posts: 40
Poder: 0
PINO72 Va por buen camino
Question Refresco de Datos en Interbase

Hola amigos, necesito que me aclareis una duda:

Estoy trabajando con los IBDataset y estoy teniendo una complicación desde hace unos dias. Cuando agrego algún registro en la tabla en cuestión, este pasa a ser el último si atender al orden establecido en la cláusula SQL Select y Refresh del DataSet. El refresco de datos mediante IBDataSet.Refresh no funciona y lo único que arregla la situación es el cierre y apertura de la tabla.

¿Se debe cerrar y abrir la tabla para que el orden vuelva a ser el adecuado?


Gracias ....
Responder Con Cita
  #2  
Antiguo 15-10-2004
Rabata Rabata is offline
Miembro
 
Registrado: jul 2003
Posts: 167
Poder: 21
Rabata Va por buen camino
prueba a cerrar la transaccion con commitretaining y por supuesto.
¿k configuración tienes puesto en el objeto Transsaccion???
Responder Con Cita
  #3  
Antiguo 15-10-2004
PINO72 PINO72 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Málaga - España
Posts: 40
Poder: 0
PINO72 Va por buen camino
Sobre CommitRetaining

El metodo CommitRetaining está situado justamente en el evento AfterPost del Dataset (Para no olvidarme de él). En cuanto a la configuración de la transacción la tengo a Read Commited, como normalmente se aconseja.
Responder Con Cita
  #4  
Antiguo 15-10-2004
T-man T-man is offline
Miembro
 
Registrado: oct 2004
Posts: 28
Poder: 0
T-man Va por buen camino
a mi me paso lo mismo y lo solucione como dices tu, haciendo un close y un open del ibdataset. ya hubo un hilo con este mismo tema y dicen que asi se arreglaba. al menos asi funciona y a mi nunca me trajo problemas.
Responder Con Cita
  #5  
Antiguo 13-02-2005
brandolin brandolin is offline
Miembro
 
Registrado: jul 2003
Ubicación: Mendoza
Posts: 324
Poder: 21
brandolin Va por buen camino
Disculpen por retomar el hilo luego de mucho tiempo, es que ahora se presento el problema y no queria abrir uno nuevo. El tema es que tengo una grillay en la misma se agragar registros desde otro form. Con Close y Open del IBDataSet se soluciona el problema ya que se refresca la misma, pero el problema es que se vuelve al principio del los registros y debo buscar nuevamente donde estaba posicionado.

Existe alguna forma de que funcione el Refresh y solo refrescar le datos donde se esta parado.

Uso firebird 1.5 + IBX + Delphi 7.

Graicas a todos.
Responder Con Cita
  #6  
Antiguo 13-02-2005
Gabriel Gabriel is offline
Miembro
 
Registrado: may 2003
Ubicación: PalauTordera
Posts: 115
Poder: 22
Gabriel Va por buen camino
Haber si te sirve este ejemplo

Procedure TFPoblaciones.Actualiza;
var
Buscar : Integer;
Begin
try
CursorReloj;
Buscar := FPoblacionesDM.QPoblacionesid_Poblacion.AsInteger;
FPoblacionesDM.QPoblaciones.Close;
FPoblacionesDM.QPoblaciones.Open;
FPoblacionesDM.QPoblaciones.locate('id_Poblacion',Buscar, [loPartialKey]);
CursorFlecha;
except
CursorFlecha;
raise;
exit;
end;
end;
__________________
Gabriel
Responder Con Cita
  #7  
Antiguo 14-02-2005
brandolin brandolin is offline
Miembro
 
Registrado: jul 2003
Ubicación: Mendoza
Posts: 324
Poder: 21
brandolin Va por buen camino
Ya solucione el problema... al menos funciona por ahora... hay que probarlo un poco mas. Utilice los famosos bookmark... no se si es lo mas optimo pero bueno, salimos del paso. Aqui les paso el código....

Código:
procedure TfrmConsArticulos.ActualizarExecute(Sender: TObject);
var SavePlace: TBookmark;
begin
     SavePlace := IBArtic.GetBookmark;
     IBArtic.close;
     IBArtic.Open;
     IBArtic.GotoBookmark(SavePlace);
end;
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


La franja horaria es GMT +2. Ahora son las 18:33:46.


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