Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-10-2007
mifiar mifiar is offline
Registrado
 
Registrado: nov 2005
Posts: 9
Poder: 0
mifiar Va por buen camino
Problema con Quickreport y Firebird

Hola comunidad, tengo un problema y espero que me puedan ayudar:

El asunto radica en que el Quickreport no actualiza los datos que ingreso enuna sesión, por ejemplo, tengo 10 registro previamente capturados, ejecuto el porgrama nuevamente para capturar mas registros, hagamos de cuenta que capturé otros 10; aquí es donde viene el problema, el quickreport sólo me muestra los primero 10 registros; para poder ver los otros 10 tengo que cerrar el programa y abrirlo de nuevo para visualizar los 20 completos.
Ya he probado con resfrescar la tabla, abrirla y cerrarla, activar y desactivar el query.
Estoy trabajando con los componentes MDO, FireBird 2.0 y Delphi 7; probé con el driver ODBC y con este sí funciona, pero quisiera hacerlo sin él. Espero que éstos datos sean suficientes para que me presten ayuda.

Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 17-10-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Por lo que dices: La transacción que muestra los datos en el quickReport es distinta a la que "captura" los datos, así que jamás se verán.

No sé a que te refieres con "capturar".

En principio, antes de abrir la consulta en que se basa el QuickReport, deberías hacer un commit de todo lo demás.

Supongo que usas las transacciones implicitas de los MDO, así que en el objeto Transaction pon su propiedad Autocommit en true. Procura no dejar otros datasets abiertos mientras abres el QuickReport, de esa forma, el resto de Dataset habrán hecho implicitamente un commitRetaining y los datos se verán en el informe.

Espero sea eso.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 17-10-2007
mifiar mifiar is offline
Registrado
 
Registrado: nov 2005
Posts: 9
Poder: 0
mifiar Va por buen camino
Hola Lepe, era eso de las transacciones, las hacia con dos diferentes. Con lo de "captura" me refería a dar de alta registros. Lo del commit si lo realizaba, pero no resolvía el problema; también lo del Autocommit ya lo tenía en true.
Bueno, muchas gracias por la ayuda.
Responder Con Cita
  #4  
Antiguo 18-10-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Completando un poco más: Aunque trabajemos en Cliente / Servidor el usuario final quiere ver los datos inmediatamente, y para ello hay dos formas:

1 - Reabrir los datasets al post.
En el evento AfterPost del dataset principal, llamar a una rutina "ReopenDatasets" que se encargue de cerrar todos los datasets de la ventana o datamodule y después reabrirlos. Los MDO hacen el commitRetaining en el evento Post, usando el AfterPost, siempre veremos ese registro recien creado.

2 - Usar Mensajes
Se crea un Trigger en la base de datos que hace un post_event "NuevoCliente", ese será un mensaje que se envía a todos los ordenadores clientes desde el servidor, dicho mensaje ha de recogerse con un TMDOEventAlert en el Datamodule que nos ocupe ordenando cerrar y después abrir los datasets.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 18-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
no se si seran los componentes, pero con los Zeos, con estas propiedades:

AutoCommit = True
Isolation = taReadCommited

y trabajando en cliente servidor, al menos que el dataset ya este abierto se ven todos los datos en todas las estaciones luego del post
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #6  
Antiguo 18-10-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Cita:
Empezado por eduarcol Ver Mensaje
al menos que el dataset ya este abierto se ven todos los datos en todas las estaciones luego del post
Lo subrayado es el detalle. Muchas veces tenemos un Grid que muestra los datos, mientras que para modificar un registro tenemos una serie de DBEdits (u otros controles). Puesto que el dataset ya está abierto el nuevo registro no se verá.

En principio, podría usarse un CommitRetaining para que si se viera el registro sin tener que reabrir el dataset, pero no se aconseja abusar de los CommitRetaining.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 18-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Pero tratando de suponer, si es un reporte lo mas normal es que este dataset se abra al imprimir el reporte, por eso hice la aclaratoria
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
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 QuickReport silver07 Impresión 5 08-10-2007 18:00:42
problema con quickreport pipecato Varios 2 07-06-2006 05:44:22
Problema con QuickReport MrSr C++ Builder 4 12-11-2004 15:23:43
problema con QuickReport! merlin Impresión 4 15-01-2004 15:16:04
Problema con el QuickReport... Tanix Impresión 2 12-11-2003 13:20:38


La franja horaria es GMT +2. Ahora son las 05:34:23.


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