Locate com ADO em Delphi7
Pq essa busca não funciona?
Estou usando isso para verificar se o Produto ja existe no cadastro de produtos.
procedure TFrmCadPro.DBEdit2Exit(Sender: TObject);
begin
if DBEdit2.Text = ´´ then
begin
ShowMessage(´Digite o Produto´);
DBEdit2.SetFocus
end
else
if ADOQProdutos.Locate(´CdProduto´, DBEdit2.Text, []) then
begin
ShowMessage(´Produto ja existe´);
DBEdit2.SetFocus
end
else
DBEdit3.SetFocus;
end;
end.
Mais da erro.
Estou usando isso para verificar se o Produto ja existe no cadastro de produtos.
procedure TFrmCadPro.DBEdit2Exit(Sender: TObject);
begin
if DBEdit2.Text = ´´ then
begin
ShowMessage(´Digite o Produto´);
DBEdit2.SetFocus
end
else
if ADOQProdutos.Locate(´CdProduto´, DBEdit2.Text, []) then
begin
ShowMessage(´Produto ja existe´);
DBEdit2.SetFocus
end
else
DBEdit3.SetFocus;
end;
end.
Mais da erro.
Digital_man
Curtidas 0
Respostas
Rjun
13/11/2006
Quando você da um Locate na tabela ou query que você está editando, ele vai obrigatoriamente dar um Post nesse objeto. Se ja existir uma chave primaria com o valor que você informou, vai dar erro de duplicação de chave primária.
GOSTEI 0
Digital_man
13/11/2006
Quando você da um Locate na tabela ou query que você está editando, ele vai obrigatoriamente dar um Post nesse objeto. Se ja existir uma chave primaria com o valor que você informou, vai dar erro de duplicação de chave primária.
Entaum como eu poderia resolver esse caso, de verificar se ja existe?
GOSTEI 0
Rjun
13/11/2006
Que banco você esta usando? Se você estiver usando um banco de dados que tenha suporte a Stored Procedure, faça esse tipo de verificação na stored procedure. Se o banco não suporta, então utilize uma TQuery auxiliar e faça nela a verificação de existência de seu código.
GOSTEI 0
Quartieri
13/11/2006
begin
if edtLocal.text = ´´ then exit;
with ObjAgenda.aADOQryPesquisa do
begin
Locate(´Local´,edtLocal.text,[loCaseInsensitive,loPartialKey]);
end;
end;
Aqui funfa legal :D
if edtLocal.text = ´´ then exit;
with ObjAgenda.aADOQryPesquisa do
begin
Locate(´Local´,edtLocal.text,[loCaseInsensitive,loPartialKey]);
end;
end;
Aqui funfa legal :D
GOSTEI 0