Que tal salu2 y feliz dia!
Veran, tengo una conexion a mysql que es la siguiente:
Public Sub ConexionMySQL()
Try
If CellDBCon.State = ConnectionState.Closed Then
CellDBCon.ConnectionString = "Server=" & Trim(pStrServer) & "; port=" & Trim(pStrPort) & "; Uid=" & Trim(pStrUser) & "; Pwd=" & Trim(pStrPW) & "; database=" & Trim(pStrDB) & ";"
CellDBCon.Open()
End If
Catch ex As Exception
End Try
MsgBox("Error al establecer la conmexion con el Servidor de Base de Datos" & vbCrLf
& Err.
Description) End Sub
La cual utiizo de la siguiente manera, como ejemplo:
Dim item As ListViewItem
Dim cmd As New MySqlCommand
Dim reader As MySqlDataReader
CerrarConexion()
ConexionMySQL()
Try
cmd.Connection = CellDBCon
cmd.CommandText = "SELECT * from horarios"
reader = cmd.ExecuteReader
lstLista.Items.Clear()
While reader.Read
item = lstLista.Items.Add(reader(0).ToString)
item.SubItems.Add(reader(1).ToString)
End While
Catch ex As MySqlException
MsgBox("Error: " & ex.Message & vbNewLine, MsgBoxStyle.Exclamation)
End Try
CerrarConexion()
Cada vez que lleno un combo, listview etx, tengo que abrir y cerrar la conexion.
De otra manera e intentado abrir la conexion en el load de los formularios para mantenerla siempre abierta, pero en ocasiones da un error de que ya hay una instancia de la conexion abierta.
Alguien que me pueda echar un cable de cómo puedo mantener la conexion siempre abierta sin tener que estar abriendo y cerrandola?
La idea es abrirla en los loads de los forms, o en unaa funcion main y cerrarla unicamente al cerrar la aplicacion.( cosa que hacia en el vb6
)
Gracias y estarémos por aqui investigando alternativas.