Fórum Rave: Operation not allowed on a unidirectional dataset #233153

19/05/2004

0

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]


Valdirdill

Valdirdill

Responder

Posts

19/05/2004

Paulo_amorim

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é+


Responder

Gostei + 0

21/05/2004

Aroldo Zanela

Sobe!


Responder

Gostei + 0

22/05/2004

Rômulo Barros

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]


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar