Fórum Pesquisa com Parâmetros. #296296

21/09/2005

0

Bom dia!

Estou desenvolvendo um programa simples de inclusão, alteração e exclusão, onde o form principal irá chamar um outro decpesquisa de cliente, tenho apenas uma tabela no banco de dados, de cliente, é bem simples, não entendo porque na consulta ele não esta filtrando o parâmetro código, definido na query do formulario do cliente.

ele está definido assim:
procedure TFrmcadastrocliente.BtnpesquisaClick(Sender: TObject);
var
result : variant;
begin
FrmCliPesquisa := TFrmCliPesquisa.Create(Self);
FrmCliPesquisa.queryPesq.Close;
FrmCliPesquisa.queryPesq.SQL.Clear;
FrmCliPesquisa.queryPesq.SQL.Add(´select codigo,nome, datanascimento, telefone, REMUNERACAOSALARIAL from clientes´);
//FrmCliPesquisa.queryPesq.SQL.Add(´where nome like :pesquisa´);
FrmCliPesquisa.resultfield := 1;
FrmCliPesquisa.pesquisa := true;
result := FrmCliPesquisa.open;
if result <> Null then
begin
CDSCADCLIENTE.Close;
SQLQUERYCLI.Close;
SQLQUERYCLI.ParamByName(´codg´).AsInteger := StrToInt(result);
SQLQUERYCLI.Open;
CDSCADCLIENTE.Open;
//Btngravar.Enabled := true;
CDSCADCLIENTE.Edit;
end;
EditPesquisa.Visible := True;
DBCOD.Visible := False;
FrmCliPesquisa.Release;
e esses codigos é do evento onclick do botado pesquisar no formulario de pesquisa

procedure TFrmCliPesquisa.SpeedButton1Click(Sender: TObject);
begin
if comeco.Checked then
queryPesq.FieldByName(´pesquisa´).AsString := Trim(UpperCase(Edtpesqtelapesq.Text))+ ´¬´
else
if nomeio.Checked then
queryPesq.FieldByName(´pesquisa´).AsString := ´¬´ + Trim(UpperCase(Edtpesqtelapesq.Text)) + ´¬´
else
queryPesq.FieldByName(´pesquisa´).AsString := ´¬´ + Trim(UpperCase(Edtpesqtelapesq.Text));
queryPesq.Close;
queryPesq.Open;
CdsPesquisaCliente.close;
CdsPesquisaCliente.Open;
//DBGrid1.SetFocus;
Obrigado desde já...


Placido

Placido

Responder

Posts

21/09/2005

Michelli88

Como esta o Sql da query SQLQUERYCLI?
Posta ai pra dar uma olhada..


Responder

Gostei + 0

21/09/2005

Rjun

Você deve passar o parâmetro entre ´´. Além disso, para parâmetros se utiliza ParamByName.
Faça assim:

if nomeio.Checked then 
  queryPesq.ParamByName(´pesquisa´).AsString := QuotedStr(´¬´ + Trim(UpperCase(Edtpesqtelapesq.Text)) + ´¬´ )
else 
  queryPesq.ParamByName(´pesquisa´).AsString := QuotedStr(´¬´ + Trim(UpperCase(Edtpesqtelapesq.Text))); 



Responder

Gostei + 0

21/09/2005

Michelli88

queryPesq.FieldByName(´pesquisa´).AsString := Trim(UpperCase(Edtpesqtelapesq.Text))+ ´¬´




 queryPesq.ParamByName(´pesquisa´).AsString := Trim(UpperCase(Edtpesqtelapesq.Text))+ ´¬´



Responder

Gostei + 0

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

Aceitar