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
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
Curtidas 0
Respostas
Edilcimar
14/12/2005
troque o like por =
GOSTEI 0
Eniorm
14/12/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++
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++
GOSTEI 0
Makweru
14/12/2005
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.
GOSTEI 0