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

Conexão com Banco tipo ADO


andersonbtr

Pergunta

Boa tarde a todos, sou novo aqui e estou precisando de uma ajuda de vocês....

No meu sistema utilizo uma variável de conexão com meu banco de dados do tipo ADODB.Connection, e eu sempre tenho problemas de compilação com a equipe de desenvolvimento, acontecendo de uma transação tentar ser aberta já estando aberta...

Existe algum comando que verifica o estado da variável de conexão, se ela está com uma transação aberta ou não?

Desde já agradeço a todos pela ajuda, grande abraço.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

se não me engano é isso:

If cn.State = 1 Then
    'Aberto
Else
    'Fechado
End If[/code]

onde cn é o seu objeto ADODB.Connection.

mas eu diria q o melhor é abrir o objeto so uma vez, assim q o programa for carregado, e fechar so no final, quando o programa for fechado.

Link para o comentário
Compartilhar em outros sites

  • 0

anderson, mas o BeginTrans não causa erro se você chamar de novo antes de terminar a transacao atual.

não costumo usar esses metodos, mas se não me engano ele abre uma nova transacao e a anterior fica pendente. quando você chamar o commit ele fecha a ultima q você abriu e volta pra anterior. imagino q seja o mesmo conceito de pilha - last in first out.

bom, mas talvez isso varie de acordo com o banco de dados, o provider, ou a forma como você abre a conexao.

se você tenta o BeginTrans enquanto uma transacao ta aberta, ele ta te retornando erro??

de qualquer forma, se você não quer abrir uma segunda transacao por forma de controle ou se ele esteja te retornando erro, uma forma de controlar, seria usar uma variavel. quando você chama o BeginTrans, ele sempre te retorna o numero da transacao atual. exemplo, se você abrir a segunda trans, ele te retorna 2. ai você gravaria esse valor numa variavel.

ai quando você chamasse o commit ou o rollback, você subtraia dela.

ou se você quer deixar sempre no maximo uma trans aberta, você usava uma variavel boolean.

porque acho q pelo connection mesmo não tem como saber.

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