Pesquisa com ClietDataSet

Delphi

24/05/2013

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

Curtidas 0

Respostas

Deivison Melo

Deivison Melo

24/05/2013

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;
GOSTEI 0
Marco Salles

Marco Salles

24/05/2013

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

GOSTEI 0
POSTAR