Fórum Controle de lock. #288364
18/07/2005
0
Criam uma tabela de lock com uma chave do usuário e o nome do programa ?
Lynx
Curtir tópico
+ 0Posts
18/07/2005
Khundalini
[]s
Rubem Rocha
Manaus, AM
Gostei + 0
18/07/2005
Lynx
Gostei + 0
18/07/2005
Lynx
e minha query liga com o DataSource.
Este evento funciona como ?
na hora do código, quando sai ?
ou na hora que inseri.
obrigado.
Gostei + 0
18/07/2005
Titanius
[]s
Gostei + 0
18/07/2005
Lynx
O Código é digitado, então nao vejo problema, no sequenciador para o ID da tabela.
No artigo mostra que tem problema, não sei se entendi direito.
obrigado
Gostei + 0
18/07/2005
Titanius
Gostei + 0
18/07/2005
Lynx
O Código é digitado...
por isso estou preocupado, pq pode acontecer , que 2 usuários estao no mesmo código...
Gostei + 0
18/07/2005
Adriano Santos
Gostei + 0
18/07/2005
Lynx
Deste modo eu tb n tenho problemas...
mas vc controla como para 2 usuários não digitar o mesmo código nos terminais ?
valeu
Gostei + 0
18/07/2005
Adriano Santos
Se entendi direito o que precisa, é isso. Não tem segredo.
Gostei + 0
18/07/2005
Lynx
entende ?
se ele ainda nao deu um commit...
como você controla está situação ?
Gostei + 0
18/07/2005
Adriano Santos
Bom, este é um caso típico e acontece muito haja vista que não é possível saber o que cada usuário está digitando em cada terminal. Mas uma coisa é certa, a probabilidade de dois terminais dar um commit ao mesmo tempo é remota, ou seja, se fizer uma nova pesquisa no banco de dados antes do post vc consegue saber se o código já existe.
Normalmente eu faço duas pesquisas.
1 - Quando o usuário sai do campo onde deve digitar o código do produto, cliente etc.
2 - No momento de dar um post. Isso evita que: durante a digitação de um novo cliente, por exemplo, outro usuário entre e coloque o mesmo código de cliente. Se isso ocorreu dou uma mensagem e o cara vai ter que colocar outro código, ai então faço o commit.
Gostei + 0
18/07/2005
Adriano Santos
Claro, só posso dar um commit se o caso for negativo, ou seja, se o código não existe na tabela.
Gostei + 0
18/07/2005
Lynx
Vou fazer isso também, mas o complicado se eu dar o focu,no campo código eu estou fazendo limpar toda minha tela...
acho que vou dar uma mensagem avisando que o código já existe, e que o código vai ser um número acima que ele digitou.
exemplo:
Usuário 1, está digitando uma nota número 1, ao mesmo tempo o usuário 2 está digitando a nota 1 também...
Mas o usuário 2 deu um commit primeiro, então quando o usuário 1 dar o post.
Vou enviar uma mensagem avisando que o número 1, já existe e a nota dele será o número 2.
O Que você acha disso ?
obrigado
valeu
Gostei + 0
18/07/2005
Adriano Santos
Outra forma, talvez menos eficaz e ou menos ´profissional´, seria criar uma lista de códigos que estão sendo digitados no momento. Por exemplo:
Você tem os terminais 1, 2 e 3. Quando cada terminar entrar e digitar um código vc alimenta uma tabela dentro do banco que será usada só pra isso. E na hora que um novo usuário entrar para digitar o codigo vc pesquisa nessa tabela. Se o codigo existir vc pede outro, senão mantem o codigo e atualiza esta tabela.
Quando o usuario der um post ou cancel, vc faz o commit e exclui este codigo da lista.
Tive esta idéia agora (do nada, rs), não é muito prática, mas dependendo do caso acredito que funcione.
É só uma idéia esdruxula que me passou pela cabeça.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)