2.2.Clase Base Datos. Conexion y Desconexion

0 comentarios
Una vez que hemos construidos los constructores de nuestra clase, necesitamos dos funciones o métodos que puedan crear una conexión con la base de datos, en función de los parámetros pasados en nuestros constructores.
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

Related Posts Plugin for WordPress, Blogger...
Copyright 2011 INFORMATICUCHO.
Blogger Template by Noct.