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

Urgente


xangall

Pergunta

Preciso fazer um programa que funcione em rede. E postei novamente por que é muito importante e até agora não consegui travar o registro para que o outro computador saiba que o registro atual está sendo alterado no momento

Alguém poderia me ajudar por favor é muito URGENTE.

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0
Explica melhor o q tu ta querendo fazer

Bem

Tem dois micros ligados em rede

os dois estão acessando o mesmo registro "Cliente ==>João

Concorda comigo que o ultimo que salvar o registro é o que permanecerá no banco de dados.

Qual é minha dúvida é como vou travar esse registro para que enquanto um estive alterando, o outro terminal não tenha acesso à alteração do mesmo.

Por favor é de extrema urgencia

Link para o comentário
Compartilhar em outros sites

  • 0

Æ brother....

cara, você pode fazer como o Graymalkin usar a propriedade EditMode do RecordSet para travar o seu registro, ou você pode fazer assim cara, adicionando na sua tabela um campo de Sim/Não (Boolean) e quando o cara fazer a consulta a sua tabela ele passa o valor desse campo para TRUE e deixa o campo travado ....Sempre que o usuário começar a fazer uma consulta primeiramente devê-se verificar o valor desse campo e ver se ele está travado (True) se estiver ele manda uma mensagem avisando a pessoa que a tabela está sendo usada por outro usuário da rede.

Espero ter ajudado...

Abraços,

William Rodrigues

Link para o comentário
Compartilhar em outros sites

  • 0
Rapaziada 'VB'!!!

O que acham de usar transações ? (ex: CommitTrans, BeginTrans, RollBack)

Assim você´s podem bloquear as transações no registro apenas liberando -os para leitura.

Abraços!!

[urso]

olá gostei da sua idéia gostaria de saber como você faz isso

não manjo muito desse assunto obrigado

Link para o comentário
Compartilhar em outros sites

  • 0
Æ brother....

cara, você pode fazer como o Graymalkin usar a propriedade EditMode do RecordSet para travar o seu registro, ou você pode fazer assim cara, adicionando na sua tabela um campo de Sim/Não (Boolean) e quando o cara fazer a consulta a sua tabela ele passa o valor desse campo para TRUE e deixa o campo travado ....Sempre que o usuário começar a fazer uma consulta primeiramente devê-se verificar o valor desse campo e ver se ele está travado (True) se estiver ele manda uma mensagem avisando a pessoa que a tabela está sendo usada por outro usuário da rede.

Espero ter ajudado...

Abraços,

William Rodrigues

olá amigo desculpa te desapontar mas se acabar a força no local o registro vai ficar travado

:(

Link para o comentário
Compartilhar em outros sites

  • 0
Para isso existe a propriedade EditMode do RecordSet. Para mais detalhes, dê uma olhada nesta página (leia de baixo para cima, pois são respostas de respostas): http://br.groups.yahoo.com/group/vbj/message/3586

Abraços,

Graymalkin

Olá amigo a sua idéia é muito boa mesmo não à trocaria por nenhuma outra só que ela não funciona em rede.

não sei se devo usar odbc.

só que eu não quero usar odbc quero uma conexão direto com o baco de dados e mesmo assim a sua ideia só funcionou para o programa que a executa.

faça o teste

mesmo assim estou muito agradecido

Link para o comentário
Compartilhar em outros sites

  • 0

Não uso ODBC, e não me lembro se cheguei a testar isso em dois computadores (mas acredito que sim) ou se foi em apenas um com duas instâncias do programa. Não me lembro se é necessário, mas tente mudar o CursorLocation para adUseServer. Nunca tive essa necessidade de trancar um registro, por isso não posso te dar um certeza.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Não uso ODBC, e não me lembro se cheguei a testar isso em dois computadores (mas acredito que sim) ou se foi em apenas um com duas instâncias do programa. Não me lembro se é necessário, mas tente mudar o CursorLocation para adUseServer. Nunca tive essa necessidade de trancar um registro, por isso não posso te dar um certeza.

Abraços,

Graymalkin

putz não funcionou cara o que será que está havendo dá uma olhada no codigo

Function adoTravar(Tabela As String, codigo As String, campo As String)

Set rstabela = Nothing

Set rstabela = New ADODB.Recordset

rstabela.CursorLocation = adUseServer 'adUseClient

rstabela.Open "Select * from " & Tabela & " where " & campo & "=" & codigo, Conexao, adOpenDynamic, adLockPessimistic

rstabela(1) = rstabela(1)

End Function

Link para o comentário
Compartilhar em outros sites

  • 0
Não sei ao certo qual a diferença, mas eu uso o adLockOptimistic e não o adLockPessimistic. Mas assim que puder vou testar o seu código.

Abraços,

Graymalkin

olá amigo os dois não funciona :(

Link para o comentário
Compartilhar em outros sites

  • 0
Æ xangall....

Prá te ajudar....

dá uma olhadinha nesse pequeno tutorial: Tio Macoratti

Abraços,

William Rodrigues

Obrigado amigo mas estou usando o ADO

Valeu a intenção

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