Rave: Operation not allowed on a unidirectional dataset
Para fazer um relatório através do Rave - Delphi 7 - Firebird 1.0, estou utilizando os seguintes componentes: RvDataSetConnection, SQLQuery, RVProject e RVSystem.
Fiz o relatório e as ligações. Está tudo funcionando perfeito, inclusive o relatório é impresso e apresenta os dados conforme requisitado na Query. Há apenas um errinho: depois da impressão do relatório vem uma mensagem de erro: ´SQLQuery1: Operation not allowed on a unidirectional dataset´, ou seja, parece que o sistema está querendo realizar uma navegação no bd, o que não pode ser, pois ele é unidirecional. Sei que se eu colocar um ClientDataSet, um SQLDataSet e um Provider para efetuar a ligação com o relatório, vai resolver, mas gostaria de fazer de uma maneira que não precisasse de tantos componentes para o relatório. No QuickReport por exemplo, só usava uma Query. Será que o Rave veio para complicar? Alguém conhece uma maneira de solucionar esse erro sem entupir minha aplicação de componentes?
Obrigado.
[b:a5759c3bc3][color=red:a5759c3bc3]Título editado e desbloqueado pelo Moderador (AZ) - Removido: ´Ninguém Está Usando Rave? Pegunto há + 30 dias e Nada de R.´[/color:a5759c3bc3][/b:a5759c3bc3]
Fiz o relatório e as ligações. Está tudo funcionando perfeito, inclusive o relatório é impresso e apresenta os dados conforme requisitado na Query. Há apenas um errinho: depois da impressão do relatório vem uma mensagem de erro: ´SQLQuery1: Operation not allowed on a unidirectional dataset´, ou seja, parece que o sistema está querendo realizar uma navegação no bd, o que não pode ser, pois ele é unidirecional. Sei que se eu colocar um ClientDataSet, um SQLDataSet e um Provider para efetuar a ligação com o relatório, vai resolver, mas gostaria de fazer de uma maneira que não precisasse de tantos componentes para o relatório. No QuickReport por exemplo, só usava uma Query. Será que o Rave veio para complicar? Alguém conhece uma maneira de solucionar esse erro sem entupir minha aplicação de componentes?
Obrigado.
[b:a5759c3bc3][color=red:a5759c3bc3]Título editado e desbloqueado pelo Moderador (AZ) - Removido: ´Ninguém Está Usando Rave? Pegunto há + 30 dias e Nada de R.´[/color:a5759c3bc3][/b:a5759c3bc3]
Valdirdill
Curtidas 0
Respostas
Paulo_amorim
19/05/2004
Olá
Primeiramente, título ridículo e fora das regras de conduta. Se não houve respostas, é porque ninguém conseguiu achar uma resposta, o que não ten nada a ver com o Rave ser usado ou não.
O erro que ocorre após a impressão do relatório, ocorre também se nao imprimir (só abrir o Preview e cancelar) ?
Fechando a Query após a exibição do relatório muda algo?
Até+
Primeiramente, título ridículo e fora das regras de conduta. Se não houve respostas, é porque ninguém conseguiu achar uma resposta, o que não ten nada a ver com o Rave ser usado ou não.
O erro que ocorre após a impressão do relatório, ocorre também se nao imprimir (só abrir o Preview e cancelar) ?
Fechando a Query após a exibição do relatório muda algo?
Até+
GOSTEI 0
Aroldo Zanela
19/05/2004
Sobe!
GOSTEI 0
Rômulo Barros
19/05/2004
No QuickReport por exemplo, só usava uma Query. Será que o Rave veio para complicar?
Completamente incorreto... Se o componente for da paleta DBExpress, o erro irá ocorre em qualquer gerador de relatorio, seja o Quick, seja o Rave.
Alguém conhece uma maneira de solucionar esse erro sem entupir minha aplicação de componentes?
...
Var DtStPrvdr : TDataSetProvider; ClntDtSt : TClientDataSet; Begin Try DtStPrvdr := TDataSetProvider.Create; DtStPrvdr.DataSet := SqlQuery1; ClntDtSt := TClientDataSet.Create; ClntDtSt.SetProvider(DtStPrvdr); // Ligue aqui o seu relatório ao ClntDtSt, ao ínves de ligar a SqlQuery1; // ExibirRelatorio; // Finally FreeAndNil(DtStPrvdr); FreeAndNil(ClntDtst); End; End;
...
[size=18:7287d4f9d5][color=red:7287d4f9d5]Código não testado...[/color:7287d4f9d5][/size:7287d4f9d5]
GOSTEI 0