Consulta em SQL com Erro Tipo de Dados Incompativeis

Delphi

15/11/2006

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]


Digital_man

Digital_man

Curtidas 0

Respostas

Tnaires

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


GOSTEI 0
Paullsoftware

Paullsoftware

15/11/2006

tente assim:
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

Digital_man

15/11/2006

tente assim:
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:


Tentei assim mais da este erro --> undeclared identifier: asstring


GOSTEI 0
Tnaires

Tnaires

15/11/2006

Troque AsString por Value.


GOSTEI 0
Digital_man

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
POSTAR