Pesquisa não funciona
EStou tentando fazer uma pesquisa com este código:
procedure TFrm_PesqOrca.BTPesquisaClick(Sender: TObject);
Var
Valor:string;
begin
IF EdtPesquisa.Text='' THEN
Begin
ShowMessage('Entre com pesquisa');
EDtPesquisa.SetFocus;
end;
IF RbCodigo.Checked Then
Valor:='COD_cli'
else
IF RbNome.Checked THEN
Valor:='Nome_cli';
With Dmdados.IBQ_Orcamento DO
Begin
Close;
Dmdados.IBQ_Orcamento.SQL.Clear;
Dmdados.IBQ_Orcamento.SQL.Text:='Select * From Tab_Orcamento Where '+ Valor +' LIKE :Paramcod';
Parambyname('Paramcod').AsString:='%'+EdtPesquisa.Text+'%';
Dmdados.IBQ_Orcamento.SQL.Add('Order By Nome_cli');
Open;
End;
IF Dmdados.IBQ_Orcamento.Eof THEN
Begin
ShowMessage('Nenhum orçamento encontrado');
EdtPesquisa.SetFocus;
end;
end;
Mas quando clicko no botao o ponteiro do DBGid não responde apontando para o registro que seria pesquisado.
No entanto não me retorna nenhum erro.
A onde posso estar errando?
procedure TFrm_PesqOrca.BTPesquisaClick(Sender: TObject);
Var
Valor:string;
begin
IF EdtPesquisa.Text='' THEN
Begin
ShowMessage('Entre com pesquisa');
EDtPesquisa.SetFocus;
end;
IF RbCodigo.Checked Then
Valor:='COD_cli'
else
IF RbNome.Checked THEN
Valor:='Nome_cli';
With Dmdados.IBQ_Orcamento DO
Begin
Close;
Dmdados.IBQ_Orcamento.SQL.Clear;
Dmdados.IBQ_Orcamento.SQL.Text:='Select * From Tab_Orcamento Where '+ Valor +' LIKE :Paramcod';
Parambyname('Paramcod').AsString:='%'+EdtPesquisa.Text+'%';
Dmdados.IBQ_Orcamento.SQL.Add('Order By Nome_cli');
Open;
End;
IF Dmdados.IBQ_Orcamento.Eof THEN
Begin
ShowMessage('Nenhum orçamento encontrado');
EdtPesquisa.SetFocus;
end;
end;
Mas quando clicko no botao o ponteiro do DBGid não responde apontando para o registro que seria pesquisado.
No entanto não me retorna nenhum erro.
A onde posso estar errando?
Erivan Marinho
Curtidas 0
Respostas
Romario Melo
22/10/2012
Setou o DataSource do DBGrid?
GOSTEI 0
Erivan Marinho
22/10/2012
Sim, mas é como se a pesquisa estivese sendo feita, mas o resultado não aparece.
GOSTEI 0
Claudia Nogueira
22/10/2012
Ambos os campos COD_CLI e NOME_CLI são string? Se forem, verificou se no BD está gravado tudo maiúsculo e se na busca está buscando tudo minúsculo ou misturado? Esse seu código não está correto:
Eof quer dizer fim, o certo é isEmpty.
IF Dmdados.IBQ_Orcamento.Eof THEN
Begin
ShowMessage('Nenhum orçamento encontrado');
EdtPesquisa.SetFocus;
end;
Eof quer dizer fim, o certo é isEmpty.
IF Dmdados.IBQ_Orcamento.isEmpty THEN
Begin
ShowMessage('Nenhum orçamento encontrado');
EdtPesquisa.SetFocus;
end;
GOSTEI 0