Fórum Pesquisa com ClietDataSet #443934

24/05/2013

0

Olá sou iniciante em Delphi, gostaria de criar uma pesquisa usando ClientDataSet, que buscasse o nome do cliente na tabela cliente, caso não encontre o nome ao pressionar Enter, o sistema abra o formulário de cadastro de clientes, sei que é possível fazer já isso em alguns sistemas. Alguém pode me ajudar? No caso estou usando Delphi 2010 + Firebird 2.5 e o drive da DBexpress.
Eleandro Mori

Eleandro Mori

Responder

Posts

24/05/2013

Deivison Melo

No botão pesquisar digitar:

var
strSQL: string;
TextoPesquisa: string;
begin
TextoPesquisa := Trim(edtConsultaCEP.Text);
if Trim(TextoPesquisa) = '' then
begin
ShowMessage('Digite um termo a ser pesquisado!');
exit;
end;
strSQL := 'select NOME_LOCAL, SIGLA_UF, CEP_INICIAL, CEP_FINAL from CEP where NOME_LOCAL like :NOME_LOCAL order by NOME_LOCAL';
ClientDataSet1.Close;
ClientDataSet1.CommandText := strSQL;
ClientDataSet1.Params.ParamByName('NOME_LOCAL').AsString := '%' + edtConsultaCEP.Text + '%';
ClientDataSet1.Open;
lblRespRegistros.Caption := IntToStr(ClientDataSet1.RecordCount);

if ClientDataSet1.Eof then
begin
ShowMessage('Nenhum registro encontrado!');
if Application.MessageBox('Deseja incluir novo CEP?', 'Confirmação',
MB_OKCANCEL) = IDOK then
begin
frmCadastro := TfrmCadastro.Create(Self);
frmCadastro.ShowModal;
FreeAndNil(frmCadastro);
end
else
begin
frmPrincipal.Show;
end;

end;
Responder

Gostei + 0

24/05/2013

Marco Salles

para utilizar o commandText do clientdataset tem que Configurar o poAllowCommand da
propriedade options do datasetprovider para True

Porém eu Prefiro a abordagem abaixo

Caso seu sql seje fixo , vc pode passar somente o parâmetro através do clientdataset
dar um close , passa o parâmetro e dar um open a pesquisa já é realizada

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar