Ir para conteúdo
Fórum Script Brasil
  • 0

Travar Registros Usando Sql


xangall

Pergunta

Estou fazendo um cadastro que vai funcionar em rede .

alguém poderia me ajudar ?

gostaria de saber como faço para travar o registro.

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

o que acontece é que eu quero travar o registro para que a quando uma pessoa estiver alterando outra pesso não pode mexer

Entendeu , espero que possa me ajudar nisso.

Link para o comentário
Compartilhar em outros sites

  • 0

:rolleyes: Bom dia,

Em primeiro lugar é necessario saber que banco de dados você está utilizando com o seu sistema. Bem, vou comentar sobre o MS SQL Server. Este banco de dados possui um sistema de travamento conhecido como LOCK. Bem neste banco de dados, podemos ter:

LOCK de linha (row lock): onde você trava um registro

LOCK de pagina: onde você trava um grupo de registros

LOCK de recordset: onde você trava um grupo de registros (não sei a diferença entre o lock de pagina e lock de registro)

LOCK de tabela.

Se não me engano existe tb mais um lock. O comando UPDATE por default já executa o lock de linha (row lock). Acredito que no momento em que você estiver executando alteração em um dado registro, outros usuarios não consigam alterar o mesmo. Meu conhecimento termina aqui. Espero ter ajudado em alguma coisa.

um abraço e boa sorte

Link para o comentário
Compartilhar em outros sites

  • 0

opa velew mesmo cara gardei sua dica para usar futuramente quando for aprender my sql

Mas no momento estou querendo isso para ADO :unsure:

obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Se não me engano você pode selecionar isto na abertura do banco:

Vamos tomar como exemplo que você tenha criado um objeto conn:

conn.mode = valor

valor 1 = somente leitura

2 = apenas para escrita

3 = para leitura\escrita

4 = proibe que outros abram uma connection apenas de leitura

etc...

Link para o comentário
Compartilhar em outros sites

  • 0

Eu preciso do código para travar o registro atual para quando eu estiver alterando fulano de tal receber um aviso de que o registro está sendo atualizado que ele deve aguardar

Ps: tentei do jeito que você me passou e deu para alterar normal, o teste foi até feito em duas máquinas

Se puder me ajudar novamente com outro código agradeço.

Link para o comentário
Compartilhar em outros sites

  • 0
Que eu me lembre, você deve verificar a propriedade Editmode do recordset (que será 1 se ele estiver sendo editado).

Abraços,

Graymalkin

Olá amigo é quase isso mesmo, eu quero saber como mudar o EditMod para 0 ou para 1, ok

Se puder me ajudar obrigado ?

Link para o comentário
Compartilhar em outros sites

  • 0

O EditMode muda sozinho quando você começa a alterar o registro. Caso você use controles anexados aos campos (quando você define o DataField para a TextBox, por exemplo) basta escrever alguma coisa em um dos campos e o registro já é considerado como sendo editado, ou seja, o EditMode muda para 1. Todavia, uma forma simples de fazer com que o registro seja forçado a entrar em modo de edição, estando anexado (bounded) ou não-anexado (unbounded), é preencher o primeiro campo do registro com seu próprio valor. Exemplo:

rs.fields(0).value = rs.fields(0).value

Isso fará com que o registro entre em modo de edição já que ele pensa que está sendo alterado, apesar de você saber que não mudou nada.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
O EditMode muda sozinho quando você começa a alterar o registro. Caso você use controles anexados aos campos (quando você define o DataField para a TextBox, por exemplo) basta escrever alguma coisa em um dos campos e o registro já é considerado como sendo editado, ou seja, o EditMode muda para 1. Todavia, uma forma simples de fazer com que o registro seja forçado a entrar em modo de edição, estando anexado (bounded) ou não-anexado (unbounded), é preencher o primeiro campo do registro com seu próprio valor. Exemplo:

rs.fields(0).value = rs.fields(0).value

Isso fará com que o registro entre em modo de edição já que ele pensa que está sendo alterado, apesar de você saber que não mudou nada.

Abraços,

Graymalkin

olá amigo não funcionou em rede

o estatos do editmode só muda no meu computador

mas no outro micro o estatos está em 0

Por favor me expliquem por que acontece isso :wacko: :wacko:

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...