Array
(
)

Form de Pesquisa com DBExpress

Makweru
   - 14 dez 2005

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


Edilcimar
   - 14 dez 2005

troque o like por =


Eniorm
   - 14 dez 2005

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


Makweru
   - 15 dez 2005


Citação:
troque o like por =


Aparentemente o problema estava com a função [u:aed42a7ecd]Upper[/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.