Dataset para gerar relatório

Delphi

15/01/2008

Seguinte, estou gerando meus primeiros relatórios com D7 + QuickReport e estou com a seguinte dúvida:

- Para os datasets que já existiam no DM, tudo OK, utilizei-os nos relatórios sem problemas;

- Para datasets que ainda não existiam no sistema:
Como obter estes datasets da forma mais ´leve´ possível?
Tentei usar apenas uma query, mas dá erro! Tenho mesmo que usar
o conjunto QUERY + PROVIDER + CLIENTDATASET? Ou há uma forma
de usar apenas a query?

Pensei em ter uma query genérica apenas para gerar os relatórios
sendo que esta receberia a instrução SQL antes da geração do relatório.
Isso é legal ou há uma forma mais otimizada?

Valeu.


Luciano.badoe

Luciano.badoe

Curtidas 0

Respostas

Djjunior

Djjunior

15/01/2008

pra relatórios vc sempre vai precisar de uma query e um database só.

você pode sim colocar somente uma query com o comando sql em branco e sempre que for criar um novo relatório popular o comando e gerar o relatório , mas pessoalmente acho muito mais trabalhoso do que ter uma query para cada relatório, a manutenção também vai ficar mas bem mais complicada.


GOSTEI 0
Luciano.badoe

Luciano.badoe

15/01/2008

[b:386f4edbfb]djjunior[/b:386f4edbfb]
Então, tentei usar apenas uma query em branco, passando o SQL em tempo de execução, mas dá um erro de dbExpress.
Colocando o trio (query + provider + clientdataset) funcionou sem problemas...


GOSTEI 0
Luciano.badoe

Luciano.badoe

15/01/2008

Usando apenas um componente SqlQuery (dbexpress) ocorre um erro na geração do relatório (dbExpress Error: invalid operation).
Dando prosseguimento após a excessão, o relatório é gerado, porém eprcebí que o contador de registros impressos sempre mostra 1.
O relatório é simpes, não têm código algum. Não estou entendendo o motivo deste erro.
Se usar um provider e um CDS, funciona sem erro...


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

15/01/2008

Colega,

O dbExpress é unidirecional e principalmente para relatórios, o uso de CDS é obrigatório.


GOSTEI 0
Luciano.badoe

Luciano.badoe

15/01/2008

[b:7448b2d334]Aroldo Zanela[/b:7448b2d334]
OK, sei que o dbExpress é unidirecional, mas para relatórios não deveria haver problema...


GOSTEI 0
Luciano.badoe

Luciano.badoe

15/01/2008

Usando somente um sqlQuery dá o problema que relatei.
Usei então um CDS genérico e funciona sem problema (passando a SQL para o commandtext).


GOSTEI 0
POSTAR