14/12/2005

Form de Pesquisa com DBExpress

Alo pessoal do forum.

Tou a criar uma aplicação DBx + Firebird 1.5.2 e gostaria de criar um form de pesquisa. então coloquei o seguinte no evento on click do TEDit, mas nada é retornado para a dbgrid.

procedure TfmPesqDocente.bt1Click(Sender: TObject);
begin
with dbx do
begin
dsDocentes.Close;
dsDocentes.CommandText:= ´SELECT * FROM TDOCENTES WHERE NOMECOMPLETO LIKE :N ORDER BY NOMECOMPLETO´;
dsDocentes.ParamByName(´N´).AsString:=´¬´ + AnsiUpperCase(Trim(CampoPesq.Text)) + ´¬´;
cdsDocentes.Close;
cdsDocentes.Open;
end;
end;

porem, quando executo nada é retornada.
Ajudem-me plz


Makweru

Respostas

14/12/2005

Edilcimar

troque o like por =


Responder Citar

14/12/2005

Eniorm

Eu uso IBX/MDO e ja fiz selects semelhantes, inclusive com parametros usando LIKE, aparentemente está correto.

O estranho é vc usar isso no OnClick de um TEdit, sendo que seria correto colocar no OnClick de algum botão ´Pesquisar´

verifica isso, faz um teste usando um botao para iniciar a pesquisa e veja o resultado....

falow++


Responder Citar

15/12/2005

Makweru

troque o like por =


Aparentemente o problema estava com a função [u:aed42a7ecd][b:aed42a7ecd]Upper[/b:aed42a7ecd][/u:aed42a7ecd]. Fiz o seguinte

procedure TfmPesqDocente.bt1Click(Sender: TObject);
begin
with dbx do
begin
dsDocentes.Close;
dsDocentes.CommandText:= ´SELECT * FROM TDOCENTES WHERE [u:aed42a7ecd]Upper(NOMECOMPLETO)[/u:aed42a7ecd] LIKE :N ORDER BY NOMECOMPLETO´;
dsDocentes.ParamByName(´N´).AsString:=´¬´ + UpperCase(Trim(CampoPesq.Text)) + ´¬´;
cdsDocentes.Close;
cdsDocentes.Open;
end;
end;

Agora está funcionando.
Obrigado pessoal pela ajuda.


Responder Citar