lucas_rc 0 Denunciar post Postado Julho 10, 2007 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
Rodrigo Miss 1 Denunciar post Postado Julho 10, 2007 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