Erro usando Filter!!!

Firebird

24/03/2005

Estou usando o Firebird!!! Como administrador uso o IBOConsole!!! Como componentes uso a palheta InterBase!!! Sendo assim:

Estou com alguns problemas!!! Coloquei uma IbTable de nome IbAgenda (A tabela foi inserida no formulário, enquanto o DataBase e o Transaction eu coloquei numa DataModule).
Aí no evento OnShow do Form, coloquei o seguinte código:

IbAgenda.Open;
IbAgenda.Filter := ´Estado = ´´Pendente´´´;

Porém parece que não funciona e é apresentado o seguinte erro:

EIBInterbaseError
Dynamic SQL Error
SQL Error Code = -206
Column unknown
ESTADO
At Line 2, column 8

Como posso resolver este erro.. Há outra forma de usar a propriedade TFilter???

Obs: Eu usava o Paradox e estou migrando para Firebird!!!


Codecman

Codecman

Curtidas 0

Respostas

Afarias

Afarias

24/03/2005

Se não me engano a propriedade FILTER não funciona nos componentes IBX (não funciona com IBQuery por exemplo) -- vc deve usar o evento OnFilterRecord

Mas, já q vc está migrando de um Gerenciador de Arquivos (Paradox) para um Sistema de Gerenciamento de Bancos de Dados (Firebird) é bom vc estudar um pouco sobre os SGBD.

Por exemplo, vc *nunca* deve usar TABLES com SGBDs -- vc deve usar Querys com ´filtro´ no SQL, ex:

supondo q vc tenha um IBQuery de nome IBQueryAgenda com o seguinte comando na propriedade SQL:

SELECT * FROM AGENDA WHERE ESTADO = :EST

então vc pode ter um código na forma:

IBQueryAgenda.Close;
IBQueryAgenda.ParamByName(´EST´).AsString := ´Pendente´;
IBQueryAgenda.Open;



T+


GOSTEI 0
Codecman

Codecman

24/03/2005

Isso quer dizer que para qualquer form, seja de um simples cadastro até pesquisas e exibição de relatórios, eu tenho que trocar as IbTables por IbQuerys?

Valeu!!!


GOSTEI 0
Afarias

Afarias

24/03/2005

´Idealmente´


T+


GOSTEI 0
POSTAR