Fórum Consulta em SQL com Erro Tipo de Dados Incompativeis #333119

15/11/2006

0

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

Responder

Posts

15/11/2006

Tnaires

Olá
Se o código do produto é inteiro, você não precisa colocar o valor entre aspas na consulta SQL.
Abraços


Responder

Gostei + 0

15/11/2006

Paullsoftware

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:


Responder

Gostei + 0

15/11/2006

Digital_man

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


Responder

Gostei + 0

15/11/2006

Tnaires

Troque AsString por Value.


Responder

Gostei + 0

16/11/2006

Digital_man

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!


Responder

Gostei + 0

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

Aceitar