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 19-10-2007
Avatar de Cannabis
Cannabis Cannabis is offline
Miembro
 
Registrado: jun 2007
Posts: 170
Poder: 17
Cannabis Va por buen camino
Problema de Actualización de Queries Firebird

Hola, buen día.

Tengo un problema de actualización.

Utilizo D7, Firebird 2 e IBx.

El asunto es que cuando desde una pc/computadora/ordenador actualizo una tabla por medio de un query, desde otro equipo no se notan los cambios.

Este es un ejemplo deel query que utilizo:
Código Delphi [-]
query1.close;
query1.sql.clear;
query1.sql.add('SELECT .........');
....
....
query1.open;

IBTransaction1.CommitRetaining;

Al salir de la aplicación e ingresar de nuevo, la información es correcta.

Gracias por su ayuda.

Salud.
Responder Con Cita
  #2  
Antiguo 19-10-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Se ha hablado bastantes veces en el foro ya acerca de este asunto.

El otro ordenador no verá los cambios hasta que hagas un Refresh del Registro (si es a nivel de registro), o cerrar y volver a abrir la base de datos (si son cambios a nivel de la base de datos completa), o implementes avisos que notifiquen al otro ordenador que se ha realizado un cambio.

Además tendrás que tener la transacción definida de tal manera que permita ver los cambios realizados (en principio, CommitRetaining).

Si buscas en el foro encontrarás varios hilos que tratan el tema.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #3  
Antiguo 21-10-2007
Avatar de Cannabis
Cannabis Cannabis is offline
Miembro
 
Registrado: jun 2007
Posts: 170
Poder: 17
Cannabis Va por buen camino
Gracias por la respuesta Gluglu.

Expliqué mal la situación:

1.- Los dos equipos están en la misma Ventana/Forma
2.- La información se despliega en un DBGrid
3.- En uno de los equipos se modifican los datos.
4.- En el otro equipo, el usuario sale de la forma y vuelve a entrar y la información no ha cambiado en el DBGrid.

Utilizo queries para actualizar, modificar y eliminar registros.

Cuando el usuario entra a la forma/ventana:
Código Delphi [-]
qry_Libros:= TMDOQuery.Create(nil);
qry_Libros.Database:= dm_Master.FBDB;
qry_Libros.SQL.Add('SELECT * FROM Libros');
qry_Libros.SQL.Add('ORDER BY Libro_Nom');
qry_Libros.Open;
ds_Libros:= TDataSource.Create(nil);
ds_Libros.DataSet:= qry_Libros;

Cuando el usuario sale de la forma/ventana:
Código Delphi [-]
qry_Libros.Close;
qry_Libros.Free;
ds_Libros.Free;

El problema es que a pesar de eliminar el Query cuando el usuario sale de la ventana/forma y de crearlo de nuevo cuando el usuario entra, la información no ha cambiado.

Si el otro usuario sale de la aplicación y vuelve a entrar, los datos aparecen actualizados.

Gracias.

Editado por mal formato de las etiquetas

Última edición por Cannabis fecha: 21-10-2007 a las 06:45:29.
Responder Con Cita
  #4  
Antiguo 22-10-2007
pvizcay pvizcay is offline
Miembro
 
Registrado: jun 2006
Posts: 147
Poder: 18
pvizcay Va por buen camino
te debe faltar el commit del que actualiza en ese caso..
salu2
Responder Con Cita
  #5  
Antiguo 22-10-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
O como han dicho, te falta el Commit en la transacción, o el nivel de aislamiento de la transacción a la que está asociado el Query no es ReadCommited.

Para comprobarlo, deberás hacer doble click encima del componente de la transacción y comprobar lo que te he dicho.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #6  
Antiguo 22-10-2007
Avatar de Gabo
[Gabo] Gabo is offline
Miembro Premium
 
Registrado: mar 2007
Ubicación: Murcia (España)
Posts: 684
Poder: 18
Gabo Va por buen camino
Revísate éste enlace sobre lo que te ha dicho gluglu...
__________________
Saludos,
Gabo

A menos que se indique lo contrario, el código estará hecho en C++Builder.
Responder Con Cita
  #7  
Antiguo 22-10-2007
Avatar de Cannabis
Cannabis Cannabis is offline
Miembro
 
Registrado: jun 2007
Posts: 170
Poder: 17
Cannabis Va por buen camino
Soy nuevo usando Firebird (y al parecer muy tonto) Jamás se me hubiera ocurrido hacer doble clic sobre Ttransaction.

Leí acerca de isolation level y sus opciones. Asunto arreglado.

Gluglu, pvizcay, Gabo, les agredezco su ayuda


Salud.
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
problema con actualizacion UREÑA Conexión con bases de datos 3 03-10-2007 17:26:52
Problema de actualizacion Luis Castillo Firebird e Interbase 4 05-01-2006 20:28:18
Problema con la actualizacion de un base Interbase Sebas77 Firebird e Interbase 1 27-06-2005 15:29:30
problema de actualización ibuser Firebird e Interbase 1 08-03-2005 00:47:28
Actualizacion de Firebird barrauda Firebird e Interbase 1 14-01-2004 17:11:07


La franja horaria es GMT +2. Ahora son las 07:48: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