Como tratar erro de Registro duplicado ???
E aí galera, blz ?
Fiz um form para cadastro de produtos, porém no meu botão ´salvar´ tenho que verificar se os dados já existe na tabela antes de postar os dados na tabela... tentei o seguinte:
begin
if not dm.tb_mainclass.Locate(´descricao´,DBEdit2.Text,[locaseinsensitive,lopartialkey])then
begin
DM.TB_mainclass.Post;
Stb_1.Panels[1].Text :=´Registro Salvo´;
end
else
begin
showmessage (´Item já cadastrado´);
end
end;
Mais o delphi manda sempre ´Item já cadastrado´ , mesmo que o iten ainda não esteja cadastrado!
Como faço isso ^?^
Se alguém puder ajudar ...
obrigado
Fiz um form para cadastro de produtos, porém no meu botão ´salvar´ tenho que verificar se os dados já existe na tabela antes de postar os dados na tabela... tentei o seguinte:
begin
if not dm.tb_mainclass.Locate(´descricao´,DBEdit2.Text,[locaseinsensitive,lopartialkey])then
begin
DM.TB_mainclass.Post;
Stb_1.Panels[1].Text :=´Registro Salvo´;
end
else
begin
showmessage (´Item já cadastrado´);
end
end;
Mais o delphi manda sempre ´Item já cadastrado´ , mesmo que o iten ainda não esteja cadastrado!
Como faço isso ^?^
Se alguém puder ajudar ...
obrigado
Ederbond
Curtidas 0
Respostas
Cristiane.spl
08/10/2003
olá ,
tente tirar o lopartialkey para ver se da certo
tente tirar o lopartialkey para ver se da certo
GOSTEI 0
Leanribas
08/10/2003
o que acontece no seu caso é o seguinte , antes de vc executar o locate a sua tabela esta em inserção certo, quando vc executa o locate e gravado altomaticamente o seu registro, pq vc estava em inserção e pediu para o dataset executar um locate, é por isso que aparece sempre a mensgem item já cadastrado, pq na verdade vc acabou de cadastrar ele sem querer.
Para vc resolver isso vc pode criar uma Qry temporaria apenas para vc fazer a consulta ao banco de dados sem mexer no DataSet tb_mainclass
Falou.
Leandro
Para vc resolver isso vc pode criar uma Qry temporaria apenas para vc fazer a consulta ao banco de dados sem mexer no DataSet tb_mainclass
Falou.
Leandro
GOSTEI 0
Ederbond
08/10/2003
Valeu galera... agora só não sei como criar uma Qry temporária... só sei fazer clicando lá na paleta e iserindo ela no meu data module.
GOSTEI 0