borges02 0 Denunciar post Postado Fevereiro 9, 2009 Bom dia! Gostaria de saber como faço para bloquear um registro em MySql e como faço para saber se o registro está bloqueado? Desde já, agradeço pela ajuda e atenção de todos... Muito Obrigado... Compartilhar este post Link para o post Compartilhar em outros sites
hgb7 3 Denunciar post Postado Fevereiro 9, 2009 Tabelas InnoDB bloqueiam registros automaticamente. Espero que ajude :) Compartilhar este post Link para o post Compartilhar em outros sites
borges02 0 Denunciar post Postado Fevereiro 9, 2009 beleza hgb7? Minhas tabelas são do tipo InnoDB. Mas eu gostaria de bloquear o registro através do aplicativo, para não deixar que mais de um usuário altere o mesmo registro. Dei uma olhada na net e parece que o MySql não tem o lock para registro e somente para tabelas. Será que tem como bloquear o registro através do aplicativo? Compartilhar este post Link para o post Compartilhar em outros sites
Alex_poty 0 Denunciar post Postado Fevereiro 9, 2009 Amigão, Que aplicativo você está usando? Quem sabe posos te ajudar. Valewww... Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Fevereiro 12, 2009 em InnoDB e BDB tem sim basta começar a consulta com START TRANSACTION e finalizar com o COMMIT Compartilhar este post Link para o post Compartilhar em outros sites
borges02 0 Denunciar post Postado Fevereiro 13, 2009 beleza Alex? Então, estou desenvolvendo em visual studio 2008 (C#) windows forms. .net framework 3.5... Tentei da seguinte forma: start transaction select * from ufcep where codigouf = 105841 commit mas dá erro de sintaxe... Tem alguma idéia de como bloquear o registro através do aplicativo? Compartilhar este post Link para o post Compartilhar em outros sites
Alex_poty 0 Denunciar post Postado Fevereiro 13, 2009 Se você está com dificuldade via DB, faz via aplicação. Eu já tive problemas assim e resolvi criando um campo para flagar o registro que pode ser inclusive o nome do usuário e se algum usuário diferente do que está flagado tentar alterar, seu sistema bloqueia o acesso. Exemplo: Ao acessar o registro para alteração, você altera o campo flag=usuárioqueestáalterando e ao alterar você altera o campo flag='' ou flag='0', dessa forma, você libera o acesso à alteração, somente quando o flag='' ou flag='0'. Mas precisa tomar cuidado porque se ocorrer algum bug, você ter uma rotina que libere este flag, senão somente o usuário que estiver o nome flagado conseguirá alterar. Mas isso só é necessário se você estiver usando comandos que deixam o DB esperando um post, nesse caso somente se houver um comando, insert, edit, ...... porque do contrário, a alteração é feita por um simples e rápido comando update tabela set campo=.... where ..... e portanto não precisa travar nada, porque a execução da query é muito rápida e teoricamente não daria tempo de ficar ocupando o registro a ser alterado. Num seu se te ajuda. Valewww... Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Fevereiro 13, 2009 START TRANSACTION; UPDATE taba set a=123; COMMIT; Compartilhar este post Link para o post Compartilhar em outros sites