Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lucas_rc

Dois Usuários gravando ao mesmo tempo

Recommended Posts

Boa tarde pessoal,

Estou com problemas quando 2 usuários tentam gravar no banco de dados no mesmo instante.

Minha aplicação é em Delphi e meu Banco de Dados é my-sql, na minha tabela eu tenho um campo ID auto incremento

e um campo que eu gravo o código queé digitado pelo usuário e não se pode repetir, porém quando 2 usuários tentam gravar ao mesmo tempo a campo auto incremento é gerado corretamente, mas a função não consegue controlar 2 usuários inserindo no banco no mesmo instante de tempo e deixa gravar os 2 registros com código igual, o que não pode acontecer na minha aplicação devido este código ser UNICO.

 

Segue abaixo a linha da função:

OBS: Se houver um mínimo atraso na inserção de um usuário para o outro, f http://forum.imasters.com.br/public/style_emoticons/default/excl.gif unciona corretamente a validação, mas se for no MESMO INSTANTE, ela falha ocasionando o problema.

 

>>>>>

 

if (DataSet in [dsInsert]) and

(QuantidadeRegistros('TABELA','CAMPO BUSCA',VALOR)) > 0) then

begin

Alerta('Número de Passagem já Cadastrado');

dbeNumeroPassagem.SetFocus;

Exit;

end;

 

<<<<<<

 

att Andre http://forum.imasters.com.br/public/style_emoticons/default/excl.gif http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde amigo ...

kra eu não trabalho com MySQL + Delphi, mais pelo que percebi, o uso de MySQL com delphi, não é uma mistura mto interessante, mas .... http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

 

Realmente isto não poderia estar ocorrendo, pois um campo de auto incremento faz estas verificacoes momentos antes da insercao ...

 

sugiro que experimente deixar este ID (atualmente usado como auto incremento) como um campo integer, logo você faz uma função de auto incremento, e qdo o usuario clickar em salvar você invoca esta funcao pra pegar o id e salvar com o valor retornado pela funcao ...

saca?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.