AdoQuery - Erro

Delphi

15/07/2013

Pessoal, boa noite!!!

Segui um tutorial aqui do forum mesmo, e ocorre a seguinte mensagem
Line1: Incorrect syntax near''=''
e já fica piscando a facha azul em if ADOQuery1.RecordCount > 0 then


Obs1.: Sql do adoquery eu digitei Select * From Cad_Cidades
Obs2.: o tutorial que segui é este [url]https://www.devmedia.com.br/consulta-simples-para-busca-de-produto-por-codigo-supermercado/20290[/url]


Abaixo o codigo!!!

Obs1.: Select * From Cad_Cidades

Obs2.:



procedure TFrm_Cad_Funcionarios.pesquisarproduto;
var
a:string;
begin
a:=''Select Codigo from Cad_Cidades where Codigo = ''+(trim(Edt_Codigo_Cidade.Text));
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add(a);
Open;
end;
end;

procedure TFrm_Cad_Funcionarios.Edt_Codigo_CidadeKeyPress(Sender: TObject;
var Key: Char);
begin
pesquisarproduto;
if ADOQuery1.RecordCount > 0 then
begin
Edt_Codigo_Cidade.Text:=ADOQuery1.fieldbyname(''Codigo'').AsString;
Edt_Nome_Cidade.Text:=ADOQuery1.fieldbyname(''Cidade'').AsString;
end
else
begin
ShowMessage(''Cidade Não Localizada.Verifique!!!'');
exit;
end;
end;

Abraços
Bruno Henrique

Bruno Henrique

Curtidas 0

Respostas

Alessandro Yamasaki

Alessandro Yamasaki

15/07/2013

Tente assim

a:='Select Codigo from Cad_Cidades where Codigo =:pCodigoDaCidade';

with ADOQuery1 do
begin
Close;
SQL.Clear;
Parambyname('pCodigoDaCidade').AsString := trim(Edt_Codigo_Cidade.Text);
SQL.Add(a);
Open;
end;
end;

GOSTEI 0
Bruno Henrique

Bruno Henrique

15/07/2013

Alessandro, boa noite!!!

Em Qual Evento???
No onkeypress???
GOSTEI 0
Alessandro Yamasaki

Alessandro Yamasaki

15/07/2013

Eu troquei apenas algumas sintaxes do pesquisarproduto, mas segue

procedure TFrm_Cad_Funcionarios.pesquisarproduto;
var
a:string;
begin
a:='Select Codigo from Cad_Cidades where Codigo =:pCodigoDaCidade';

with ADOQuery1 do
begin
Close;
SQL.Clear;
Parambyname('pCodigoDaCidade').AsString := trim(Edt_Codigo_Cidade.Text);
SQL.Add(a);
Open;
end;
end;
GOSTEI 0
Bruno Henrique

Bruno Henrique

15/07/2013

Alessandro!!!

Fiz igual você pediu e está dando a mensagem de "is not a valid integer value.

GOSTEI 0
Bruno Henrique

Bruno Henrique

15/07/2013

Sem sucesso ainda!!!rs
GOSTEI 0
Alan Souza

Alan Souza

15/07/2013

provavelmente a string Edt_Codigo_Cidade.Text está vazia, deve ser preenchida com um número antes ou usar uma conversão com valor default. Ex:

Parambyname('pCodigoDaCidade').AsInteger := StrToIntDef(Trim(Edt_Codigo_Cidade.Text), -1);
GOSTEI 0
Alessandro Yamasaki

Alessandro Yamasaki

15/07/2013

Troque o meu

Parambyname('pCodigoDaCidade').AsString := trim(Edt_Codigo_Cidade.Text);

pela dica do colega alanps, que funcionará ou preencha um valor no edit
GOSTEI 0
Deivison Melo

Deivison Melo

15/07/2013

Caso esteja resolvido por favor sinalizar!!

GOSTEI 0
Deivison Melo

Deivison Melo

15/07/2013

Caso esteja resolvido por favor sinalizar!!

GOSTEI 0
Deivison Melo

Deivison Melo

15/07/2013

Caso esteja resolvido por favor sinalizar!!

GOSTEI 0
Bruno Henrique

Bruno Henrique

15/07/2013

Deivison, boa tarde!!!

Ainda não foi resolvido!!!
GOSTEI 0
Alessandro Yamasaki

Alessandro Yamasaki

15/07/2013

Qual o erro que está dando?
GOSTEI 0
Bruno Henrique

Bruno Henrique

15/07/2013

Alessandro!!!Boa noite!!!

Obrigado pela atenção!!!Resolvi o problema da seguinte forma!!!

procedure TFrm_Cad_Funcionarios.Edt_Codigo_CidadeExit(Sender: TObject);
begin
//PESQUISA PRODUTO
if Edt_Codigo_Cidade.Text<>'' then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
if length(trim(Edt_Codigo_Cidade.Text))<=9
Then ADOQuery1.SQL.Add('select * from Cad_Cidades where Codigo=:pCodigo');

ADOQuery1.Parameters.ParamByName('pCodigo').Value:=Edt_Codigo_Cidade.Text;
ADOQuery1.Open;

if not ADOQuery1.IsEmpty then
begin
Edt_Codigo_Cidade.Text:=ADOQuery1.FieldByName('Codigo').AsString;
Edt_Nome_Cidade.Text:=ADOQuery1.FieldByName('Cidade').AsString;
Msk_Cep.Text:=ADOQuery1.FieldByName('Cep').AsString;
end
else
begin
Mess(Frm_Cad_Funcionarios.handle,'Cidade Não Localizada',mb_iconinformation or mb_ok);
Edt_Codigo_Cidade.SetFocus;
end;
end;
end;


Obrigado!!!

Abraços
GOSTEI 0
Bruno Henrique

Bruno Henrique

15/07/2013

RESOLVIDO
GOSTEI 0
POSTAR