Veran, tengo una conexion a mysql que es la siguiente:
Código
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:
Código
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.