duplicando registro
14/01/2014
0
Sempre que entra um novo registro verifico qual é o ultimo e somo mais um e cadastro o próximo, Esta funcionando, porem quando duas pessoas esta fazendo o cadastro ao mesmo tempo ele duplica. A verificação faz quando o usuário clica no botão salvar então fica assim
Verifica-soma-insere
Creio eu que quando um usuário já na etapa da inserção , o outro esta passando pela verificação e por isso a duplicação.
Alguém sabe como poderia resolver isso?
Julio Medeiros
Posts
14/01/2014
Leandro Chiodini
Esse numero sequencial serve para identificar o registro?
Voceê pode estar usando uma sequence do banco de dados, ela mesmo trata isso.
att,
Chiodini
14/01/2014
Leandro Chiodini
da uma olhadinha neste post aqui.
sobre Lock, é bem interessante.
pode te ajudar
hudsonsantosdba.blogspot.com/2010/04/concorrencia-e-consistencia-dos-dados.html
att
15/01/2014
Julio Medeiros
Exemplo:
1,2,3,4,5,6
Se eu precisar excluir o numero 6 por erro do usuário e deixar livre novamente para o próximo cadastro eu não consigo pois o banco de dados já vai gerar o numero 7.
e eu preciso seguir a sequencia certinha sem pular numero.
15/01/2014
Joel Rodrigues
Nesse modelo, uma vez gerado o código ele é perdido, ou seja, se o usuário não concluir a inserção do registro, aquele código já foi gravado e não será gerado o mesmo valor novamente. Isso resolve a questão da concorrência, mas depende das suas regras de negócio para saber se é adequado.
De toda forma, se não for extremamente necessário que o usuário saiba o código antes de salvar o registro, aconselho a evitar essa situação e usar os mecanismos do banco para gerar os sequenciais.
Abraço e bons códigos.
15/01/2014
Leandro Chiodini
Bom se a sequência for de identificação do registro,
Não vejo problema em ter numeros não utilizado,
pelo contrário isso é extremamente normal em qualquer sistema,
para que seja mantida a integridade dos dados, é a melhor forma de fazer.
Ja utilizei em um sistema a mesma maneira que o Joel descreve.
Assim garante que nenhum registro vai ser duplicado,
Porem não vai ter a funcionalidade que vocês esta querendo de alterar.
Lembrando que se for um identificador, as boas praticas dizem exatamente isso,
que o ID é unico, e uma vez alocado deve permanecer para aquele registro,
se precisar excluir e criar outro registro, deve ser gerado outro ID.
Att,
Chiodini
15/01/2014
Julio Medeiros
Mas muito obrigado pela ajuda, o que eu precisava saber era isso mesmo, se era possível e se o funcionaria legal, vou precisar mudar algumas coisas aqui.
Valeu mesmo pelas informações.
15/01/2014
Joel Rodrigues
Estou marcando o tópico como concluído, uma vez que a questão inicial foi respondida. Se surgirem novas dúvidas, fique à vontade para abrir novos tópicos.
Abraço e bons códigos.
Clique aqui para fazer login e interagir na Comunidade :)