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

iniciando no vb.net (Conexão)


Macêdo

Pergunta

Pessoal

To começando e estou com o seguinte problema:

No modulo declarei a conexao e a strng e criei as subs de para conectar e desconectar

Module Module1
    Public cnn As New OleDb.OleDbConnection
    Public CAMINHO As String
    Public Sub conectar()
        CAMINHO = "C:\Arquivos de programas\PROGRAMAS TESTES\Express 2005\Sisloc\SISLOC.MDB"
        Dim cnn As New OleDb.OleDbConnection
        cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & CAMINHO & "'"
        cnn.Open()
    End Sub

    Public Sub desconectar()
        cnn.Dispose()
        cnn.Close()
        cnn = Nothing
    End Sub
End Module
No Load abro a conexao
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        TextBox1.TabIndex = 0
        conectar()
    End Sub
so fecho a con no fechar do form
Private Sub Form1_Deactivate(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Deactivate
        desconectar()
        Me.Close()
        Me.Dispose()
    End Sub
quando abro o form a primeira vez consigo incluir registros
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim cmd As OleDb.OleDbCommand = cnn.CreateCommand
        cmd.CommandText = "insert into clientes (nome) values ('" & Text2.Text & "')"
        Try
            cmd.ExecuteNonQuery()
            MsgBox("Registro incluido")
        Catch erro As Exception
            MsgBox("Erro " & vbCrLf & vbCrLf & erro.ToString)
        End Try

    End Sub

Mas quando fecho o form e abro novamente da ERRO na conexao

como concerto isto ?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Realmente, deixei esta duplicidade, mas não estava assim, isto aconteceu numa das muitas vezes que tentei fazer mudanças no codigo.

O erro mesmo acontece quando tento abrir e fechar a conexão a cada procedimento, mas quando abro a conexão com o LOAD do MDI e deixo-a aberta não gera mais o erro, consigo trabalhar nos outros forms, fazer diversas interações com o BD e fecho a conexão no Deactivate do MDI

Esta forma de proceder esta correta ou o melhor no .NET seria fechar a conexão e abrir a cada procedimento ? no VB6.0 eu sempre fiz do jeito que falei abro no iniciar do MDI e deixo aberta.

Link para o comentário
Compartilhar em outros sites

  • 0

Pelo código da pra entender que sua aplicação é windows. No caso de aplicações windows acredito que possa trabalhar dessa forma mantendo a conexão aberta. Só faça uns testes com uma quantidade real de usuários para ver se seu banco trava ou algo do tipo.

Abraços...

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,8k
×
×
  • Criar Novo...