Ir al contenido


Foto

SQL Query vacío en el report


  • Por favor identifícate para responder
22 respuestas en este tema

#1 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 274 mensajes

Escrito 29 marzo 2021 - 05:29

El concepto de Query no me queda claro. A ver si con un simple ejemplo me lo podías aclarar.

 

Tengo un reporte realizado y cuando le doy a visualizar el reporte para ver si saca los datos me indica "SLQ Query vacío".  Tengo una unidad llamada Unit Datamodulebbdd ( datamodule1) donde tengo el zconnection y los zquerys(1,2.3....) que uso. En otro formulario tengo el DATASOURCE1 donde esta el DBGrid y un btn para el reporte. 

 

Ahora añado a este formulario el componente frReport1 y frDBDataSet1 y un Zquery1 nuevo, ya que no sé si incluyéndolos en la Unit DataModulebbdd (datamodule1) me funcionaría además que ya hay Zquerys.

 

Zconnection -> no haga nada, ya que es el que uso en la aplicación para la bbdd.

 

frReport1 con propiedades:

 

Dataset = frDBDataSet1

                 Dataset = Zquery1

                 connection = datamodule1.Zconnection1

 

frDBDataSet1 con propiedades:

 

Dataset = Zquery1

                 conection = datamodule1.Zconnection1

 

Zquery1  properties = select * from clientes order by codigo (corregido no es en properties sino en SQL)

 

 En ninguno de los otros Zquery le he indicado en SQL ningun intrucción y me funcionan por codigo con select, update....

 

Ahora me indica "SQL ERROR. SQL logic error o missing database".


  • 0

#2 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 274 mensajes

Escrito 31 marzo 2021 - 01:34

He podido averiguar que este error, era porque no se lo indicaba en SQL.

Cuando preparo el report y dispongo de

 

"Titulo de reporte"

 

"Encabezado de pagina"

 

"Datos maestros" -> como indicar los campos de la tabla?. Se lo he indicado entre corchetes, como [codigo]  [nombre] [ apelidos], porque la opción CAMPOS BD, sólo marca "Zquery1" o "Zquery2", pero no salen campos de mi BB.DD dbclientes.sqlite.

 

Intento visualizar reporte y error al canto "ERROR. SQL LOGIC ERROR O MISSING DATABASE" y de ahí no salgo, si elimino la cabecera "Datos maestros", visualizo reporte y me carga pero sin datos de la base, obvio.

 

Es deseperante, darle vueltas y vueltas y no saber ya que cambiar para, que cargue en el reporte los datos.


  • 0

#3 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 274 mensajes

Escrito 01 abril 2021 - 03:51

No entiendo porque en el diseño del reporte en el campo BD, no se visualiza los campos de la base de datos (codigo, nombre ,apellidos). Está enladado el dataset y el Zquery2.

 

También se lo he indicado en datos maestros del reporte en como [codigo] y como [Zquery2."codigo"] a cada campo y ninguna opcion es válida. 

 

Al previsualizar reporte, me salta error "SQL ERROR. SQL LOGIC ERROR o MISSING DATABASE". Qué estaré haciendo incorrectamente? 

 

A ver si alguien puede ayudarme, con esta simple aplicación y código de reporte, he leído y buscado de todo y probando todo y nada. Gracias.


  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.192 mensajes
  • LocationMéxico

Escrito 01 abril 2021 - 01:33

Hola dooper

 

¿Como asignas la base en el componente ZConnection?

 

Saludos


  • 0

#5 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 274 mensajes

Escrito 01 abril 2021 - 02:06

Hola dooper

 

¿Como asignas la base en el componente ZConnection?

 

Saludos

Gracias egostar por querer ayudar, no sabes lo que lo agradezco. Es frustrante un simple codigo de reporte y estallar en cólera porque no sé si es por los zeoslib, librerias, error de programación, etc...

 

Click, para buscar el fichero de la base datos dbclientes.sqlite3. Tambien lo he cambiado para que busque mediante ruta absoluta y tampoco.

 

En el form1 tengo los componentes (Zconnection, Zquery1, datasource1) para visualizar en la grilla, que por fin me funcionó. He añadido (frmreport, frmdbDataset1 y un Zquery2-SQL "select * from clientes"). Lo que no sé

 

aunque lo he añadido es tambien un Datosurce2, porque el Datasource1 vincula al Zquery1 o al menos así está puesto para visualizar la grilla, y el Datasource2 ahora le he vinculado el zquery2.

 

Previsualizo el reporte sin exito, debo eliminar la banda de "datos maestros" con las etiquetas [Zquery2."codigo"]  [Zquery2."nombre"] [Zquery2."apellidos"] para eliminar ese mensaje, y visualizar sobre cabeceras y titulo,

 

no datos.


  • 0

#6 Gaston

Gaston

    Advanced Member

  • Miembros
  • PipPipPip
  • 106 mensajes

Escrito 01 abril 2021 - 03:00

No entiendo porque en el diseño del reporte en el campo BD, no se visualiza los campos de la base de datos (codigo, nombre ,apellidos). Está enladado el dataset y el Zquery2.

 

También se lo he indicado en datos maestros del reporte en como [codigo] y como [Zquery2."codigo"] a cada campo y ninguna opcion es válida. 

 

Al previsualizar reporte, me salta error "SQL ERROR. SQL LOGIC ERROR o MISSING DATABASE". Qué estaré haciendo incorrectamente? 

 

A ver si alguien puede ayudarme, con esta simple aplicación y código de reporte, he leído y buscado de todo y probando todo y nada. Gracias.

A mí me costó bastante LazReport, mucha prueba y error y buscar documentación por todos lados. Eso sí, una vez que le tomas la mano, puedes hacer cualquier reporte, pero lleva su tiempo.

 

Los campos no los visualiza porque debes tener en tiempo de diseño la base de datos conectada y la consulta abierta (open o active:=true).

Aquí Zeos (que también utilizo) no tiene nada que ver, es más, tengo reportes hechos con LazReport sin ninguna base de datos.

 

El gran problema es que yo no te puedo pedir que muestres el código, porque tendría que pedirte el proyecto directamente para ver como viene la cosa.

 

Saludos.


  • 0

#7 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 274 mensajes

Escrito 01 abril 2021 - 03:57

Es que ya no se que hacer Gaston. He visto y buscado videos, blogs, etc... y sigo los mismo pasos y el reporte nada. No sé si las horas que estoy dedicándole tienen sentido, porque vuelvo al mismo punto.

 

Yo no tengo problemas en enviarte el proyecto o quien me lo pida, si se me indica como enviarlo, aunque el código es muy corto. Carga una  tabla en dbgrid e intento hacer un reporte de la tabla, en ese punto estoy.

 

Mi obsesión por aprender es lo que no me permite dejarlo por imposible. No quisiera que esto me "impida" ver el "bosque".

 

Como dato, cuando marco en Zquery2. active = true en el editor de objetos, me salta el mensaje tambien de SQL ERROR.


  • 0

#8 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.192 mensajes
  • LocationMéxico

Escrito 01 abril 2021 - 04:47

Gracias egostar por querer ayudar, no sabes lo que lo agradezco. Es frustrante un simple codigo de reporte y estallar en cólera porque no sé si es por los zeoslib, librerias, error de programación, etc...

 

Click, para buscar el fichero de la base datos dbclientes.sqlite3. Tambien lo he cambiado para que busque mediante ruta absoluta y tampoco.

 

En el form1 tengo los componentes (Zconnection, Zquery1, datasource1) para visualizar en la grilla, que por fin me funcionó. He añadido (frmreport, frmdbDataset1 y un Zquery2-SQL "select * from clientes"). Lo que no sé

 

aunque lo he añadido es tambien un Datosurce2, porque el Datasource1 vincula al Zquery1 o al menos así está puesto para visualizar la grilla, y el Datasource2 ahora le he vinculado el zquery2.

 

Previsualizo el reporte sin exito, debo eliminar la banda de "datos maestros" con las etiquetas [Zquery2."codigo"]  [Zquery2."nombre"] [Zquery2."apellidos"] para eliminar ese mensaje, y visualizar sobre cabeceras y titulo,

 

no datos.

 

Caramba!!!

 

Pues técnicamente debería funcionar, no será algún bug de versión, desconozco Lazarus, pero es lo único que se me ocurre.

 

Saludos 


  • 0

#9 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.035 mensajes
  • LocationSanto Domingo

Escrito 01 abril 2021 - 07:41

La propiedad Transactisolation del zconnection como la tienes?

 

zquery1 lo tienes en el formulario o en el datamodule?

 

Tratare de ayudarte porque encontre un proyecto donde tengo un reporte y veremos paso a paso lo que sucede.


  • 0

#10 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 274 mensajes

Escrito 02 abril 2021 - 03:31

Mil gracias Luk por responder.

 

Egostar efectivamente, es que he probado combinaciones de todo tipo en el editor de objetos etc.... y no doy con la tecla. Veo que que me queda mucho por recorrer para que pueda terminar algo que se parezca a un informe, cuando me decís que os ha llevado mucho tiempo poder confeccionar reportes. Pero por algo se empieza.

 

TransacIsolationLevel = tiNone; He probado las otras opciones y nada.

 

No uso Datamodule, simplemente en el form1 tengo los componentes (Zconnection1, Zquery1, Datasource1-> vicula a Zquery1 con un select en el codigo) para visualizar el DbGrid.

 

Y para el reporte incorporo a ese formulario los componentes: (FRreport1, FRDBDatase1, Zquery2 -> En propiedades inserto SQL-> Select * from clientes); Datamodule2-> Vincula a Zquery2).

 

Con respecto a los componentes para el DBGrid,

 

ZConnection tiene: Connected = true; database =dbclientes.sqlite; designConnection = true;  LibraryLocation = sqlite3.dll; Usermetadatos = true;

Zquery1 y datasource1 están vinculados para el DbGrid y en linea de codigo realizo el select que he referenciado en el otro post sobre que no carga el dbgrid, simplemente.

 

Con respecto a los componentes del reporte:

 

FRreport1 tiene: Dataset:frDBDataSet1

 

FRDBDataset1 tiene:  Datase=Zquery2; Datasource = vacío, aunque me despliega Datasource1 y Datasource2, probado con ambos y nada.

 

ZQuery2 tiene: Connection = ZConnection1; Datasource= vacío, aunque me despliega Datasource1 y Datasource2, probado com ambos y nada.

                         Cuando intento marcar Active = true, no me permite, saltando el error: "SQL Error. SQL Logic Error o missing datatabase"

 

Datasource2 tiene: DataSet= Zquery2

 

Si puede servir como dato, si ejecuto la aplicación como está, me salta un error  de depuración  " GBD.EXE error depurador....." y me estalla todo. No antes inserto un boton para el reporte. 


  • 0

#11 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.035 mensajes
  • LocationSanto Domingo

Escrito 02 abril 2021 - 11:41

TransacIsolationLevel = tiNone; He probado las otras opciones y nada.

 

tiReadCommitted

es la forma en que debes ponerlo

 

 

porque dice datamodule1?

frReport1 con propiedades:

 

Dataset = frDBDataSet1

                 Dataset = Zquery1

                 connection = datamodule1.Zconnection1

 

frDBDataSet1 con propiedades:

 

Dataset = Zquery1

                 conection = datamodule1.Zconnection1

 

 

crfeo que en algunos lados confundes datamodule con datasource

 

 

FRreport1 tiene: Dataset:frDBDataSet1

eso yo lo tengo vacio

 

y cargo el reporte asi desde un boton

frReport1.LoadFromFile('C:\emailpdf\FACTURAS.lrf');
   frReport1.ShowReport;                             
 
en los zquery los datasource los puedes dejar vacios
 
en datasource1  
dataset=zquery1
 
en datasource2
dataset=zquery2
 
si quieres probarlo cuando estas creando el programa
debes conectar el zconnection
 
y debes activar los zquerys
 
deberias comenzar probando que la conexion y los zquerys funcionen bien
 
FRDBDataset1 tiene:  Datase=Zquery2; Datasource = vacío, aunque me despliega Datasource1 y Datasource2, probado con ambos y nada.
dataset debe tener zquery1
datasource debe tener datasource1
y tener la propiedad openDatasource en true.

  • 0

#12 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 274 mensajes

Escrito 02 abril 2021 - 12:01

Si lo indico y ejecuto así Luk, me salta Error del depurador

 

Uuups, el depurador entró en el estado de error.

Guarde tu trabajo ahora

Pulse Stop y espere lo mejor....

No se puede enviar uncomando GBD

El proceso GBD ha dejado de funcionar

El Comando GBD

"thread-info" no devolvió ningun resultado

 

y ya no se recuperar, porque vuelvo a ejecutar (F9) y mismo error. Elimino los frReport1, DataSource2 y Zquery2, es decir compoentes que afecten al reporte y lo mismo.

 

por eso lo compruebo en tiene de diseño con la previsualizacion del informe, porque ejecutándolo me "explota". Previamente he creado un boton para cargar el código.

 

El datasource1 que tengo es para el uso el DBGrid vinculado a Zquery1 con el select en linea de codigo "Zquery1.SQL.text:="SELECT.....".

Para el informe que añadido DataSource2 y un ZQuery2 nuevos.

 

Esto ya me sobrepasa, no se si reinstalar una versión de CT superior a la 5.6 que tengo, o que hacer.


  • 0

#13 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.035 mensajes
  • LocationSanto Domingo

Escrito 02 abril 2021 - 01:16

Pues creo que deberias subir el archivo para poder revisarlo.


  • 0

#14 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 274 mensajes

Escrito 02 abril 2021 - 01:24

como puedo subirlo comprimido? Ahora intento subirlo. He instalado la CT 7.3 para probar a ver, al abrir proyecto carga el .lpi pero mal visualizado ,hay como una extension ctps creo. No será que los proyecto de mi version CT 5.6 sea incompatible con la 7.3? He realizado tantos cambios que algun componente puede estar sin marcar alguna propiedad o al revés.

 

Aqui el fichero https://anonfiles.co...3uc/REPORTE_rar

 

Primero, si consiguieras hacerlo funcionar, podrías dejar una prueba con un boton para imprimir en el formulario.

He usado la version 5.5, porque la 5.6 la he desinstalado para probar si venía de ahí. La 7.3 me pide como codigo del proyecto un fichero .ctps en vez de un .lpi que me pide la version 5.5 o 5.6.

 

Espero ver algo de luz.... Gracias.


  • 0

#15 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.035 mensajes
  • LocationSanto Domingo

Escrito 02 abril 2021 - 08:25

No funciona el archivo, no se puede descomprimir.  

Por otro lado, trata de usar google drive y enviar un enlace del archivo para descargarlo. Porque por donde lo pusiste es muy incomodo y no da confianza.


  • 0

#16 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 274 mensajes

Escrito 03 abril 2021 - 02:58

Hola Luk,

 

No tengo cuenta de google drive, de ahi esa opción, suministro otra URL a ver si hay posibilidad. Lo he probado y me funciona.

 

http://wikisend.com/...490/REPORTE.rar


  • 0

#17 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.035 mensajes
  • LocationSanto Domingo

Escrito 03 abril 2021 - 10:52

No es la descarga la que no funciona, es el archivo que no abre


  • 0

#18 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 274 mensajes

Escrito 03 abril 2021 - 11:08

Luk, no podría ser la versión del winrar que usas, la que no te abre el .rar? prueba la version 6.0 64b de winrar, incluso la 5.4 podriá servir. Igual me pasaba a mi con algunos ficheros comprimidos y pensaba que era del fichero

Yo he realizado la prueba y perfecto.

Si lo vuelvo a comprimir será igual que este fichero, prueba y me indicas...

....

....

has podido luk descomprimir?


  • 0

#19 dooper

dooper

    Advanced Member

  • Miembros
  • PipPipPip
  • 274 mensajes

Escrito 07 abril 2021 - 09:40

Veo puede que no haya solución. Sigo sin ver la causa del problema, ni me permite usar el componente para aprender.


  • 0

#20 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.192 mensajes
  • LocationMéxico

Escrito 07 abril 2021 - 02:54

Veo puede que no haya solución. Sigo sin ver la causa del problema, ni me permite usar el componente para aprender.

 

  • Lo descargue sin problema
  • Se descompactó sin problema
  • Lo ejecuté sin problema.

 

No entiendo.....

 

Saludos

Archivos adjuntos


  • 0