Criar um formulário de Pesquisa(FILTRO)
25/03/2019
0
Olá boa tarde, sou iniciante no Delphi, estou utilizando o banco DBExpress, firebird, gostaria de saber como faço para criar um filtro de pesquisa utilizando o Jvdbcombobox...
Octavio
Curtir tópico
+ 0
Responder
Posts
25/03/2019
Octavio
Resolvido, solução:
procedure TfrmPesquisar.btnBuscarClick(Sender: TObject);
begin
case cbFiltro.ItemIndex of
0: try
dtmDados.CdCliente.Close;
dtmDados.CdCliente.CommandText:= 'select * from cliente where cod_cliente like :pcod_cliente';
dtmDados.CdCliente.ParamByName('pcod_cliente').Value := '%' + edtPesquisa.Text + '%';
dtmDados.CdCliente.Open;
finally
end;
1: try
dtmDados.CdCliente.Close;
dtmDados.CdCliente.CommandText:= 'select * from cliente where nome like :pnome';
dtmDados.CdCliente.ParamByName('pnome').Value := '%' + edtPesquisa.Text + '%';
dtmDados.CdCliente.Open;
finally
end;
2: try
dtmDados.CdCliente.Close;
dtmDados.CdCliente.CommandText:= 'select * from cliente where fantasia like :pfantasia';
dtmDados.CdCliente.ParamByName('pfantasia').Value := '%' + edtPesquisa.Text + '%';
dtmDados.CdCliente.Open;
finally
end;
end;
end;
procedure TfrmPesquisar.btnBuscarClick(Sender: TObject);
begin
case cbFiltro.ItemIndex of
0: try
dtmDados.CdCliente.Close;
dtmDados.CdCliente.CommandText:= 'select * from cliente where cod_cliente like :pcod_cliente';
dtmDados.CdCliente.ParamByName('pcod_cliente').Value := '%' + edtPesquisa.Text + '%';
dtmDados.CdCliente.Open;
finally
end;
1: try
dtmDados.CdCliente.Close;
dtmDados.CdCliente.CommandText:= 'select * from cliente where nome like :pnome';
dtmDados.CdCliente.ParamByName('pnome').Value := '%' + edtPesquisa.Text + '%';
dtmDados.CdCliente.Open;
finally
end;
2: try
dtmDados.CdCliente.Close;
dtmDados.CdCliente.CommandText:= 'select * from cliente where fantasia like :pfantasia';
dtmDados.CdCliente.ParamByName('pfantasia').Value := '%' + edtPesquisa.Text + '%';
dtmDados.CdCliente.Open;
finally
end;
end;
end;
Responder
31/03/2019
Hélio Devmedia
Olá Otávio,
Seu código está corretíssimo, mas seria bom você otimizar o seu código por exemplo:
Espero ter ajudado, um forte abraço e fique com Deus.
Seu código está corretíssimo, mas seria bom você otimizar o seu código por exemplo:
begin dtmDados.CdCliente.Close; try case cbFiltro.ItemIndex of 0: begin dtmDados.CdCliente.CommandText:= 'select * from cliente where cod_cliente like :pcod_cliente'; dtmDados.CdCliente.ParamByName('pcod_cliente').Value := '%' + edtPesquisa.Text + '%'; end; 1: begin dtmDados.CdCliente.CommandText:= 'select * from cliente where nome like :pnome'; dtmDados.CdCliente.ParamByName('pnome').Value := '%' + edtPesquisa.Text + '%'; end; 2: begin dtmDados.CdCliente.CommandText:= 'select * from cliente where fantasia like :pfantasia'; dtmDados.CdCliente.ParamByName('pfantasia').Value := '%' + edtPesquisa.Text + '%'; end; end; dtmDados.CdCliente.Open; finally end; end;
Espero ter ajudado, um forte abraço e fique com Deus.
Responder
Clique aqui para fazer login e interagir na Comunidade :)