Consulta em SQL com Erro Tipo de Dados Incompativeis
Tenho esse consulta no evento do OnExit do meu DBEdit2.text para verificar so o produto ja existe?.
So que da ERRO ´Tipo de dados incompativel na expressão de critério´
Agora fiquei perdido, alguem me ajuda????
[b:cba5429047]procedure TFrmCadPro.DBEdit2Exit(Sender: TObject);
begin
querycod.active := false;
querycod.sql.clear;
querycod.sql.add(´select CdProduto from Produtos where CdProduto = ´´ +DBEdit2.Text+ ´´´);
querycod.active:= true;
If querycod.eof then
Begin
Beep;
Application.Messagebox(´Produto não Cadastrado´,´Mensagem ...´,Mb_Ok);
Exit;
end;
end;
end.[/b:cba5429047]
So que da ERRO ´Tipo de dados incompativel na expressão de critério´
Agora fiquei perdido, alguem me ajuda????
[b:cba5429047]procedure TFrmCadPro.DBEdit2Exit(Sender: TObject);
begin
querycod.active := false;
querycod.sql.clear;
querycod.sql.add(´select CdProduto from Produtos where CdProduto = ´´ +DBEdit2.Text+ ´´´);
querycod.active:= true;
If querycod.eof then
Begin
Beep;
Application.Messagebox(´Produto não Cadastrado´,´Mensagem ...´,Mb_Ok);
Exit;
end;
end;
end.[/b:cba5429047]
Digital_man
Curtidas 0
Respostas
Tnaires
15/11/2006
Olá
Se o código do produto é inteiro, você não precisa colocar o valor entre aspas na consulta SQL.
Abraços
Se o código do produto é inteiro, você não precisa colocar o valor entre aspas na consulta SQL.
Abraços
GOSTEI 0
Paullsoftware
15/11/2006
tente assim:
acho que assim vai funcionar perfeitamente... :wink:
procedure TFrmCadPro.DBEdit2Exit(Sender: TObject); begin querycod.active := false; querycod.sql.clear; querycod.sql.add(´select CdProduto from Produtos where :CdProduto´); querycod.params.parambyname(´CdProduto´).AsString := DBEdit2.Text; //ou //querycod.params[0].AsString := DBEdit2.Text; querycod.active:= true; If querycod.eof then Begin Beep; Application.Messagebox(´Produto não Cadastrado´,´Mensagem ...´,Mb_Ok); Exit; end; end; end.
acho que assim vai funcionar perfeitamente... :wink:
GOSTEI 0
Digital_man
15/11/2006
tente assim:
acho que assim vai funcionar perfeitamente... :wink:
procedure TFrmCadPro.DBEdit2Exit(Sender: TObject); begin querycod.active := false; querycod.sql.clear; querycod.sql.add(´select CdProduto from Produtos where :CdProduto´); querycod.params.parambyname(´CdProduto´).AsString := DBEdit2.Text; //ou //querycod.params[0].AsString := DBEdit2.Text; querycod.active:= true; If querycod.eof then Begin Beep; Application.Messagebox(´Produto não Cadastrado´,´Mensagem ...´,Mb_Ok); Exit; end; end; end.
Tentei assim mais da este erro --> undeclared identifier: asstring
GOSTEI 0
Tnaires
15/11/2006
Troque AsString por Value.
GOSTEI 0
Digital_man
15/11/2006
Troque AsString por Value.
Ja havia tentado com value mais tb naum adianta, vou repassar mais detalhes pra ver se alguem ai consegue me ajudar.
Uso Banco Acess, conecção ADO, Delphi 7.
Tabela Produtos
CdProduto Integer
NomeProd String.
Aperto no botão Novo com o codigo adoqueryprod.insert;
Dai o dbedit2 recebe o foco onde no evento exit quero
verificar se o CdProduto existe!
GOSTEI 0