Jump to content
Fórum Script Brasil
  • 0

Dúvida (adicionar)


Ivens

Question

Pessoal, dúvida de iniciante.

Tenho um botão chamado "Adicionar", que simplesmente adiciona + 1 ao número atual que está no banco de dados (x + 1).

A questão é que duas pessoas irão utilizar esse sistema ao mesmo tempo, daí pode acontecer dos dois clicarem no botão ao mesmo tempo. Alguma idéia de como resolver isso?

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

2pessoas não podem fazer esse mesmo evento ao mesmo tempo certo?

você tem q criar uma entidade no db q ira verificar se alguém está neste "evento" e bloqueia a seção enquanto pessoa estiver lá assim q pessoa sair desta seção você desbloqueia. p/ fazer esse bloqueio você pode útilizar o ip das pessoas..

Engenharia de Software

Estrutura de banco de dados relacional

não é tão simples qt parece.

--------- como diz meu professor

Agente não faz programinha

existe uma série de desvios, eventos, exceções

q muitos não conhecem..

-------------------------------> boa sorte e boas pesquisas!

Link to comment
Share on other sites

  • 0

Se você utilizar o MySQL pode utilizar o LOCK TABLES, ele permite trancar uma tabela enquanto alguém estiver realizando alguma ação, logo, seria no caso de duas pessoas clicarem ao mesmo tempo, o que entrasse primeiro teria sucesso, para o outro retornaria um erro do SGBD (porque a tabela estaria trancada)...

-> http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html

Se bem que isso geraria outros problemas...

Link to comment
Share on other sites

  • 0

Se o script der pau e a parte que desbloqueia as tabelas não for executada, fica tudo trancado... e tem 2~3 outras coisas que podem acontecer (vi esse teoria em um livro de mysql), mas não me lembro...

Até agora pensando, poderia ser feito um controle por um TXT, no action do formulário, no topo do script lê um txt, se estiver com o valor zero, ok, continua a execução, caso contrário dá uma mensagem dizendo que não pode continuar... se continuar você altera o valor de zero para 1, ai faz o que tiver que fazer no BD, altera de novo o valor do txt de 1 para zero, pronto, é um jeito simples de fazer o controle...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.6k
×
×
  • Create New...