Fórum Operation not allowed on a unidirectional dataset TSQLQuery #374607

05/09/2009

0

Ola,
Quando executo o codigo abaixo, surge a mensagem:
procedure TFMRelFuncPer.BitBtn2Click(Sender: TObject);
var
 data1, data2: string;
begin
DataModule1.SQLRelFuncPer.Close;
DataModule1.SQLRelFuncPer.sql.Clear;
DataModule1.SQLRelFuncPer.sql.add(´select * from tb_afastamento´);
DataModule1.SQLRelFuncPer.sql.add(´where afast_cod > 0´);
if CheckBox1.Checked=true then
 DataModule1.SQLRelFuncPer.sql.Add(´and afast_cod_servidor = ´ + DataModule1.SDSAfastamentoafast_cod_servidor.AsString);
if CheckBox2.Checked=true then
 begin
  Data1:=FormatDateTime(´YYYY/MM/DD´, StrtoDate(MaskEdit1.Text));
  Data2:=FormatDateTime(´YYYY/MM/DD´, StrtoDate(MaskEdit2.text));
  DataModule1.SQLRelFuncPer.sql.add(´and afast_data_inic >= ´ + data1);
  DataModule1.SQLRelFuncPer.SQL.Add(´and afast_data_fim =< ´ + data2);
 end;
DataModule1.SQLRelFuncPer.open;
if DataModule1.SQLRelFuncPer.RecordCount = 0 then
 Application.MessageBox(´Não foi selecionado nenhum registro´,´Atenção´, MB_OK + MB_ICONEXCLAMATION)
 else
  RvProject1.Execute;
end;

Operation not allowed on a unidirectional dataset TSQLQuery.
Onde está o erro?

Attt
dalton


Dbergkamps10

Dbergkamps10

Responder

Posts

06/09/2009

Dbergkamps10

sobe...


Responder

Gostei + 0

07/09/2009

Dbergkamps10

subindo


Responder

Gostei + 0

08/09/2009

Osocram

Amigo...
Componentes UniDirecionais tais como SqlQuery, SqlDataSet so serve para trazer os dados.
Não serve para fazer loop nem trazer em dbgrid.


Responder

Gostei + 0

08/09/2009

Afarias

Se o loop é em 1 direção serve, ex:

Open;
while not Eof do
begin
//
next;
end;


Assim, se o relatório ler o DataSet apenas 1 vez, do início ao fim, não tem problema. Qualquer outra coisa diferente disso (ex: First, Prior) não vai funcionar.

RecordCount não pode (ou não deve) ser usado em DataSets unidirecionais. Vc deve associar seu SQLQuery a um DataSetProvider e um ClientDataSet e usar o ClientDataSet (RecordCount, etc)


T+


Responder

Gostei + 0

10/09/2009

Dbergkamps10

Vlw pelas dicas.
vou tentar aqui.

att
dalton


Responder

Gostei + 0

19/09/2009

Dbergkamps10

Olá,
ainda estou com problemas galera;
fiz o seguinte:
Coloquei o CDS e o Data Set Provider;
O DataSetProvider liguei na SQLQuery do relatório. O CDS liguei no DataSetProvier e o rave liguei no CDS. Porém, não aparece nada no relatorio.
Se alguem puder ajudarr, agradeço.

Attt
Dalton


Responder

Gostei + 0

24/09/2009

Dbergkamps10

Galera, to precisando de uma força ae
Quem pode me ajudar.???


Responder

Gostei + 0

25/09/2009

Afarias

o SQL (do SQLQuery) está correto? tem parâmetros? se sim, vc definiu corretamente os valores dos parâmetros? o relatório (e componentes visuais do mesmo) está apontando para o CDS?


T+


Responder

Gostei + 0

25/09/2009

Dbergkamps10

Olá,
afarias, vlw pela força. mas ja fiz o tudo q vc recomendou e nada.
se alguem puder ajudar agradeço.


att
dalton


Responder

Gostei + 0

25/09/2009

Dbergkamps10

olá,

substitui o SQLQuery pelo SQLDataSet, mas continua sem funcionar. alguém tem alguma luz?


Responder

Gostei + 0

26/09/2009

Dbergkamps10

subindo.......


Responder

Gostei + 0

26/09/2009

Afarias

Sem dar mais informações sobre o problema e o q vc está fazendo, ´subir´ não vai ajudar descobrir onde vc está errando.

Mostre mais sobre o seu código e o problema.


T+


Responder

Gostei + 0

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

Aceitar