Esta es la función encargada de conectar:
Public Sub Conectar() Try If Not Me.Conexion Is Nothing Then If Me.Conexion.State.Equals(ConnectionState.Closed) Then Throw New BaseDatosException("La conexion ya se encuentra abierta") Exit Sub End If End If If Me.Conexion Is Nothing Then Select Case tipoBBDD Case BBDD.SQL : Me.Conexion = New SqlConnection Case BBDD.ODBC : Me.Conexion = New OdbcConnection Case BBDD.OLEDB : Me.Conexion = New OleDbConnection End Select Me.Conexion = _Factory.CreateConnection() Me.Conexion.ConnectionString = Me.sCadenaConexion End If Me.Conexion.Open() If Me.Conexion.State <> ConnectionState.Open Then MsgBox("ERROR AL CONECTAR CON LA BASE DE DATOS " & Me.Conexion.Database) End If Catch ex As Exception Throw New BaseDatosException("ERROR :" & ex.Message & " - Cadena conexion : " & Me.sCadenaConexion & " BASEDATOS.Conectar ", ex) End Try End Sub
En esta función se ve claramente el flujo de los datos, primero preguntamos si la conexión esta ya abierta, si no es asi y es una nueva conexión entonces creamos la conexión en función del proveedor y cadena de conexión del constructor elegido.
Una vez que hayamos terminado con las operaciones contra la base de datos, debemos de utilizar una función que nos desconecte de la sesión, porque si no esta conexión puede penalizar con el tiempo el rendimiento de la Base de Datos.
Public Sub Desconectar() Try If Me.Conexion.State.Equals(ConnectionState.Open) Then Me.Conexion.Close() Me.Conexion = Nothing End If Catch ex As DataException Me.Conexion = Nothing Throw New BaseDatosException("ERROR :" & ex.Message & " BASEDATOS.DESCONECTAR ", ex) Catch ex As InvalidOperationException Me.Conexion = Nothing Throw New BaseDatosException("ERROR :" & ex.Message & " BASEDATOS.DESCONECTAR ", ex) End Try End Sub
El funcionamiento es sencillo, preguntamos si la conexión esta abierta, la cerramos y controlamos los errores.
Nota: El control de errores los veremos en siguientes capítulos.


0 comentarios:
Publicar un comentario