FireBird com rede
Tenho uma aplicação de delphi 7 com banco firebird em rede quando duas pessoas clicam pra gravar alguma coisa ao mesmo tempo da erro de Key Violation como posso resolver isso?
Daniel.felgar
Curtidas 0
Respostas
Fsflorencio
08/04/2005
O que ocorre é que as duas pessoas usaram o mesmo conteúdo para o(s) campo(s) de chave primária.
A melhor solução para resolver isto, é buscar o valor de um dos campos da chave primária de um generator. Generators tem a propriedade de nunca repetir o mesmo valor.
Usando uma trigger pode ser feito assim:
create trigger ... before insert
as
begin
campo = gen_id( nome_generator, 1 );
end
A melhor solução para resolver isto, é buscar o valor de um dos campos da chave primária de um generator. Generators tem a propriedade de nunca repetir o mesmo valor.
Usando uma trigger pode ser feito assim:
create trigger ... before insert
as
begin
campo = gen_id( nome_generator, 1 );
end
GOSTEI 0
Gandalf.nho
08/04/2005
[b:77f9b43cba][color=red:77f9b43cba]Bloqueado por Infração às Regras de Conduta :[/color:77f9b43cba][/b:77f9b43cba]
Duplicidade
[url]http://forum.clubedelphi.net/viewtopic.php?t=61334[/url]
Para maiores esclarecimentos pode mandar-me uma [url=http://forum.clubedelphi.net/privmsg.php?mode=post&u=8378]Mensagem Particular[/url].
Duplicidade
[url]http://forum.clubedelphi.net/viewtopic.php?t=61334[/url]
Para maiores esclarecimentos pode mandar-me uma [url=http://forum.clubedelphi.net/privmsg.php?mode=post&u=8378]Mensagem Particular[/url].
GOSTEI 0