Fórum Travar um Registro usando ADO, Firebird e Delphi 7 #414787

29/03/2012

0

Pessoal preciso de uma ajuda urgente.

Tenho um modulo de caixa que quando o usuário for digitar o código do cliente, este cliente tem que ficar bloqueado/travando, por exemplo se eu abrir duas vezes o modulo caixa com o mesmo cliente um dos caixa deverá receber a informação que este cliente está aberto em outro local.

Agradeço a ajuda de todos.



Silvio Morelo

Silvio Morelo

Responder

Posts

29/03/2012

Alisson Santos

poderia dar mais detalhes, pois não consegui compreender o que precisa.
Responder

Gostei + 0

29/03/2012

Joel Rodrigues

Acredito que você precisará de um campo na tabela de clientes, informando que o registro está em uso. Ao selecionar o cliente, verifique se o valor deste campo é true, se for, mostre a mensagem e não permita seu uso, senão, atualize este campo para true.

Seria algo do tipo?
Responder

Gostei + 0

30/03/2012

Silvio Morelo

Alisson, obrigado por ter respondido.

Eu preciso informar ao usuário que as informações referente ao cliente estão sendo visualizadas por outro usuários e neste caso talvez nem deixar abrir o caixa.

Silvio
Responder

Gostei + 0

30/03/2012

Silvio Morelo

Joel, a sua solução é bastante interessante, porem tenho uma dúvida, caso o sistema venha cair talvez por falta de energia com eu voltaria esta opção para False, liberando o cliente.

Silvio
Responder

Gostei + 0

30/03/2012

Joel Rodrigues

Qual banco de dados você está utilizando?
Responder

Gostei + 0

02/04/2012

Silvio Morelo

Joel, estou usando o banco de dados Firebird 2.0
Responder

Gostei + 0

02/04/2012

Joel Rodrigues

Amigo, agora você fez uma pergunta difícil.
Eu tenho uma ideia, mas não sei como implementá-la no Firebird e nem se é possível, mas é o seguinte:
Ao acessar o banco, você deve usar um usuário e senha ou o nome da estação de trabalho, ou do usuário do Windows, enfim, alguma credencial. No momento em que você acessasse a tabela de clientes, diria que o registro está em uso (usando um campo booleando, como dito acima) e em um outro campo você armazenaria quem está conectado, no caso, o usuário que inicioua conexão com o banco.
Em outra máquina, ao tentar acessar o cliente, você verificaria se o registro está em uso e o responsável pelo uso (usuário conectado) e então analisaria se o usuário que estava usando o registro ainda está conectado no banco de dados (se a conexão está ativa). Se a conexão está ativa, não permita o acesso ao cliente.

Não sei se fui claro o bastante, como disse, é uma ideia.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar