rlock quem esta prendendo ?
Moderador: Moderadores
-
paiva_dbdc
- Usuário Nível 3

- Mensagens: 342
- Registrado em: 12 Nov 2012 09:58
- Localização: uberlandia mg
rlock quem esta prendendo ?
Boa Noite
quando se tenta prender um registro e OUTRO usuário esta com ele aberto
tem como se saber QUAL usuário esta usando ?
ex:
5 pc com o sistema aberto.
preciso prender um registro para poder altera-lo.
+ da erro por ter alguém acessando este registro.
tem como obter a identificação desse usuário que esta impedindo de se alterar o registro ?
desde já agradeço
Paiva
quando se tenta prender um registro e OUTRO usuário esta com ele aberto
tem como se saber QUAL usuário esta usando ?
ex:
5 pc com o sistema aberto.
preciso prender um registro para poder altera-lo.
+ da erro por ter alguém acessando este registro.
tem como obter a identificação desse usuário que esta impedindo de se alterar o registro ?
desde já agradeço
Paiva
rlock quem esta prendendo ?
pode ser até o ip
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
rlock quem esta prendendo ?
Teria que acrescentar um campo no dbf pra isso.
Quando rlock() não funcionar, mostrar o conteúdo atual do campo.
De brinde, terá o nome da última pessoa que mexeu no registro.
Quando rlock() não funcionar, mostrar o conteúdo atual do campo.
Código: Selecionar todos
IF Rlock()
REPLACE usuario WITH UsuarioLogin()
ELSE
MsgExclamation( "registro preso pelo usuário " + usuario )
ENDIF
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
rlock quem esta prendendo ?
Quintas,
Usuário login é o mesmo que hb_getenv("username") ?
REPLACE usuario WITH hb_getenv("username")
Usuário login é o mesmo que hb_getenv("username") ?
REPLACE usuario WITH hb_getenv("username")
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
-
paiva_dbdc
- Usuário Nível 3

- Mensagens: 342
- Registrado em: 12 Nov 2012 09:58
- Localização: uberlandia mg
rlock quem esta prendendo ?
Boa
se alteram o registro GUARDO o usuário e a data.
MAIS ............ o Problema é que UM usuário deu um enter para OLHAR e Não alterou ainda.
ai outro vendedor vai vender este produto por ex: e eu preciso alterar a qtd de estoque do produto ou seja
tenho que dar um lock e altera a quantidade
ai ao dar o LOCK não fica OK porque tem ALGUEM OLHANDO ou alterando o registro do produto em questão.
o rlock só retorna .T. ou .F.
neste momento precisaria identificar qual usuário esta olhando o produto .
tem solução ?
NAO sei se o dbf ou o win guarda quem esta LENDO um determinado registro(rs)
ai poderia mostrar quem (n) esta mexendo no registro em questão
ob
Paiva
se alteram o registro GUARDO o usuário e a data.
MAIS ............ o Problema é que UM usuário deu um enter para OLHAR e Não alterou ainda.
ai outro vendedor vai vender este produto por ex: e eu preciso alterar a qtd de estoque do produto ou seja
tenho que dar um lock e altera a quantidade
ai ao dar o LOCK não fica OK porque tem ALGUEM OLHANDO ou alterando o registro do produto em questão.
o rlock só retorna .T. ou .F.
neste momento precisaria identificar qual usuário esta olhando o produto .
tem solução ?
NAO sei se o dbf ou o win guarda quem esta LENDO um determinado registro(rs)
ai poderia mostrar quem (n) esta mexendo no registro em questão
ob
Paiva
-
paiva_dbdc
- Usuário Nível 3

- Mensagens: 342
- Registrado em: 12 Nov 2012 09:58
- Localização: uberlandia mg
rlock quem esta prendendo ?
opa
é .... uma saída seria eu alterar se der enter .. desta forma saberia lá na venda ou onde precisar ... quem esta olhando
se não tiver nada automático vou ver se implemento
ob
Paiva
é .... uma saída seria eu alterar se der enter .. desta forma saberia lá na venda ou onde precisar ... quem esta olhando
se não tiver nada automático vou ver se implemento
ob
Paiva
rlock quem esta prendendo ?
Uma ideia,
Você pode criar uma tabela de usuarios com os campos: nome do usuário, data e hora
Quando o usuário entrar na rotina de venda, você grava nesta tabela o nome do usuário, data e hora.
Primeiro você lê a tabela e posiciona no último registro e pega o nome do usuário e mostra na tela, depois grava na tabela usuarios o nome, data e hora
Sequencia.
1-Abre a rotina
2-Abre a tabela usuarios e posiciona no último registro (esta tabela não tem indice)
3-Mostra o nome do último usuário que está usando a rotina, pode mostrar até a hora
4-Depois que mostrar, grava na tabela o nome, data e hora
Pra pegar o nome do usuário: hb_getenv("username")
É só uma ideia.
Você pode criar uma tabela de usuarios com os campos: nome do usuário, data e hora
Quando o usuário entrar na rotina de venda, você grava nesta tabela o nome do usuário, data e hora.
Primeiro você lê a tabela e posiciona no último registro e pega o nome do usuário e mostra na tela, depois grava na tabela usuarios o nome, data e hora
Sequencia.
1-Abre a rotina
2-Abre a tabela usuarios e posiciona no último registro (esta tabela não tem indice)
3-Mostra o nome do último usuário que está usando a rotina, pode mostrar até a hora
4-Depois que mostrar, grava na tabela o nome, data e hora
Pra pegar o nome do usuário: hb_getenv("username")
É só uma ideia.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
rlock quem esta prendendo ?
Nos cadastros em geral, bloqueia só na hora de salvar os dados.
Pedidos e outros semelhantes seriam uma exceção.
Crie uma forma mais fácil de consultar... rs... não sei se é o caso.
Nota:
Pra consultar não precisa rLock(), só pra alterar.
Tem gente que coloca isso até em relatório....
Pedidos e outros semelhantes seriam uma exceção.
Crie uma forma mais fácil de consultar... rs... não sei se é o caso.
Nota:
Pra consultar não precisa rLock(), só pra alterar.
Tem gente que coloca isso até em relatório....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
rlock quem esta prendendo ?
Amiguinhos,
Tempos atrás postei um método que estive utilizando em um cliente. Durante dois meses o mesmo foi usado no sistema de forma transparente e cessaram os problemas de travamento.
Acontecia justamente porque usuários diferentes teimavam e tentar alterar registros idênticos.
Veja neste tópico
Só tive de trancar porque um camarada, ao invés de ajudar com exemplos práticos, ficou criticando.
Apesar de ter usando com Fivewin, pode servir para seus intentos. Não desprezando é claro todos os auxílios dados pelos caros amigos forenses até agora.
Tempos atrás postei um método que estive utilizando em um cliente. Durante dois meses o mesmo foi usado no sistema de forma transparente e cessaram os problemas de travamento.
Acontecia justamente porque usuários diferentes teimavam e tentar alterar registros idênticos.
Veja neste tópico
Só tive de trancar porque um camarada, ao invés de ajudar com exemplos práticos, ficou criticando.
Apesar de ter usando com Fivewin, pode servir para seus intentos. Não desprezando é claro todos os auxílios dados pelos caros amigos forenses até agora.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
rlock quem esta prendendo ?
Pode também questionar o usuário antes de entrar na rotina se é para somente consulta ou inclusão/alteração, ai já dá pra fazer um controle melhor.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
rlock quem esta prendendo ?
Me chamou a atenção esta parte do outro post.
Uma coisa é fonte do semáforo.
Outra coisa é o fonte do exemplo, que apesar de usar o semáforo, só faz sentido pra quem sabe da ocorrência acima.
Eu inicialmente também acharia o exemplo inútil, por nunca ter visto a ocorrência acima.
Só o exemplo de uso, não a rotina de semáforo.
Foi isso que aconteceu lá, revise depois.
Um não entendeu o ponto de vista do outro.... rs
Inclusive o que ele comentou de melhorar já estava avisado no seu texto: pra cada um escolher o que acharia melhor pra mostrar
Também nunca percebi isso acontecer.nunca aconteceu com voce, de travar um registro em um terminal e outro terminal ao travar o mesmo registro destravar o primeiro.
Uma coisa é fonte do semáforo.
Outra coisa é o fonte do exemplo, que apesar de usar o semáforo, só faz sentido pra quem sabe da ocorrência acima.
Eu inicialmente também acharia o exemplo inútil, por nunca ter visto a ocorrência acima.
Só o exemplo de uso, não a rotina de semáforo.
Foi isso que aconteceu lá, revise depois.
Um não entendeu o ponto de vista do outro.... rs
Inclusive o que ele comentou de melhorar já estava avisado no seu texto: pra cada um escolher o que acharia melhor pra mostrar
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
