Como usar Recorcount no SqlDataSet?

Delphi

03/11/2004

Uso DBExpress, e firebird 1.5

estou tentando ver se o select trouxe algum registro pelo recordcount, mas ele me da um erro, ai vai o comando e o erro:

begin
  
  datamodule1.SQLDataSetCaixa.Active:=true;
  datamodule1.ClientDataSetCaixa.Active:=true;
      datamodule1.SQLDataSetcaixa.Close;
      datamodule1.SQLDataSetcaixa.CommandText:=´select * from CONTROLE_CAIXA where terminal=:id_terminal and status=:v_status´;
    datamodule1.SQLDataSetcaixa.ParamByName(´id_terminal´).AsString:=id_terminal;
    datamodule1.SQLDataSetcaixa.ParamByName(´v_status´).AsString:=´F´;
    datamodule1.SQLDataSetcaixa.open;

    if datamodule1.SQLDataSetCaixa.RecordCount=0 then
    begin
      Showmessage(´Não há uma sessão de caixa aberta´);
    end
    else
    v_num_fech_caixa:=datamodule1.SQLDataSetcaixa.fieldbyname(´num_controle´).AsInteger;
end;



o erro que da é o seguinte:

DBX error: Operation not supported



Se alguém puder me ajudar, agradeço desde de já.

Até mais.


Gameiro

Gameiro

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

03/11/2004

Você não pode usar RecordCount num dataset unidirecional como o DBX, se precisar contar registros use SELECT COUNT


GOSTEI 0
Gameiro

Gameiro

03/11/2004

Obrigado,mas como faço para pegar o valor que virá no count, pois nunca usei.


Até mais.


GOSTEI 0
Boca 09

Boca 09

03/11/2004

Obrigado,mas como faço para pegar o valor que virá no count, pois nunca usei. Até mais.


Olá Gameiro,

Na propriedade SQL do componente SQLQuery digite o comando:

[b:509eb39988]SELECT COUNT(*) FROM[/b:509eb39988] Sua-Tabela

Será criado um objeto do Tipo TField chamado COUNT, que vc poderá adicionar normalmente no Fields Editor (Duplo click no SQLQuery)

Podendo acessar este valor dessas maneiras:

* SQLQuery1COUNT.Value
* SQLQuery1.Fields[0].Value
* SQLQuery1COUNT.AsInteger

Valeu :!: :!: :!:


GOSTEI 0
Gameiro

Gameiro

03/11/2004

muito obrigado a todos


GOSTEI 0
POSTAR