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

Ninguém Consegue!


xangall

Pergunta

Ninguém conseguiu ainda travar o registro...

Como faço para travar um registro usando o ADO ?

Detalhe tem que funcionar em rede.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

blink.gif Estranho ninguém te responder essa, ou entaum não entendi a pergunta.

Se estiver abrindo o BD via Código coloque a seguinte linha nas propriedades, antes do comando OPEN de sua Recorset:

Recordset.LockType=adLockPessimistic

Se estiver abrindo pelo Objeto ADODC, basta fazer o mesmo nas propriedades do objeto. smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0
blink.gif Estranho ninguém te responder essa, ou entaum não entendi a pergunta.

Se estiver abrindo o BD via Código coloque a seguinte linha nas propriedades, antes do comando OPEN de sua Recorset:

Recordset.LockType=adLockPessimistic

Se estiver abrindo pelo Objeto ADODC, basta fazer o mesmo nas propriedades do objeto. smile.gif

tongue.gif Olá amigo obrigado por tentar ajudar.

Vou se mais claro

Imagine que eu estou alterando o registro do "João", dai em outro terminal, uma pessoa clica no botão alterar. bem o programa DEVE (isso é certesa) me avisar que o registro está sendo alterado em outro terminal.

ou seja o EditMode deve estar como "1" em todos os terminais, e isso não acontece. e até agora ninguém achou uma solução

Se souber porfavor me ajude. obrigado unsure.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Brother !!!

Complicado esse seu caso cara. Ainda estou dando uma pesquisada, uma estudada em alguns livros e artigos prá ver se consigo achar alguma solução. Caso consiga post para nós.

Abraços,

William Rodrigues

Caro amigo William, Finalmente alguém que realmente reconheceu que isso não funciona em rede, mas felismente eu resolví o problema achei um tipo de conexão ao banco de dados diferente veja...

Conexao.Provider = "Microsoft.JET.OLEDB.4.0"

Conexao.Properties("Data Source") ="c:\mdb\escola.mdb"

Conexao.Properties("Jet OLEDB:Database Locking Mode") = 1

Conexao.CursorLocation = adUseServer

Conexao.Open

Com essa conexão você consegue uma navegação em "Trava por Registro" quando você fizer a consulta para o registro que irá travar terá que fazer o seguinte...

Private sub cmdalterar()

On Error GoTo tratar_error

tratar_error:

If Err.Number = -2147467259 Then MsgBox "O Registro está sendo " & _

"alterado no momento", vbInformation, "Edição em Andamento...": Exit Function

Set rstabela = Nothing

Set rstabela = New ADODB.Recordset

rstabela.CursorLocation = adUseServer

rstabela.Open "Select * from professores where " & campo & "=" & codigo,Conexao, _

adOpenDynamic, adLockPessimistic

rstabela(1) = rstabela(1) 'Aqui está o segredo, é quando ele vai acusar a menssagem de error e dizer que o registro está realmente sendo alterado, e não que o registro já foi alterado

End Function

Um abraço e obrigado por tentar ajudar.

Alexandre

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,2k
    • Posts
      652k
×
×
  • Criar Novo...