Configurar un ConnectionString dinamicamente

 

Este articulo describirá como configurar un ConnectionString para nuestras aplicaciones. Cuando nuestras aplicaciones implican un manejo con base de datos, manejan una conexión o ConnectionString que nos permite estar conectados a una base de datos, generalmente esta conexión se genera en nuestra maquina de desarrollo y siempre que tengamos que implementar la aplicación se hace engorroso modificar ese ConectionString, esta es una forma sencilla que espero les sirva como guía y los oriente. Crearemos un proyecto como aparece en la imagen que nos permita capturar la información del servidor, base de datos, inicio de sesión o usuario y contraseña.

Crearemos en las propiedades del proyecto una propiedad llamada ConnectionString que nos permitirá guardar la conexión a nuestra base de datos, propiedad que estará en el archivo app.config de la aplicación.

Crearemos una clase que nos permita manejar la conexión, emulando una capa de datos. Como usaremos conexiones a Bases de Datos MySQL, importaremos la librería de MySQL. Cabe mencionar que tiene que estar instalada tanto como la Base de Datos(puedes descargarla de aqui), así como el conector (puedes descargarlo de aqui):

Definiremos un objeto de tipo MySqlConnection que nos permitirá manejar las conexiones con la base de datos. Por defecto le agregaremos el valor de la propiedad ConecctionString (o como le hayamos puesto) que le creamos a nuestra aplicación. Esto le permitirá que si en esta clase implementa su capa de datos, ya tenga una conexión predefinida, y pueda ejecutar sentencias, llenar un arraylist etc.

Dentro de nuestra clase que por cierto se llama clConexion agregaremos tres funciones la primera es probar conexión que permitirá al usuario hacer un testeo de sus conexiones, como cuando creamos la conexión por el asistente del Visual Studio, el nos permite testear la conexión, para ver si esta funcionando o no.

La función testear recibe una cadena de conexión para probar y retorna un valor booleano de acuerdo al resultado. Dicha función llama a la función abrir conexión, que permite por medio de un try catch ejecutar la propiedad open del objeto MySqlConnection que definimos y si abre retornara un valor true.

Como abrimos nuestra conexión también debemos cerrarla, generalmente es un error que colapsa las aplicaciones ya que siempre olvidamos cerrar las conexiones. A continuación les dejo la clase completa:

Imports MySql.Data.MySqlClient

Public Class clConexion
Private ConexionBD As New MySqlConnection(My.Settings.ConecctionString)

Public Function ProbarConexion(ByVal nuevaconexion As String) As Boolean
ConexionBD.ConnectionString = nuevaconexion
If AbrirConexion() Then
ProbarConexion = True
CerrarConexion()
Else
ProbarConexion = False
End If
End Function

Private Function AbrirConexion() As Boolean
Try
ConexionBD.Open()
AbrirConexion = True
Catch ex As Exception
MessageBox.Show(ex.Message)
AbrirConexion = False
End Try

End Function

Private Function CerrarConexion() As Boolean
Try
ConexionBD.Close()
CerrarConexion = True
Catch ex As Exception
MessageBox.Show(ex.Message)
CerrarConexion = False
End Try

End Function
End Class

Volviendo a Nuestro proyecto el botón probar conexión nos permitira armar un ConecionString con los datos ingresados. Una vez instanciamos la clase creada anteriormente (clConexion), llamamos la función ProbarConexion y enviamos la conexión a probar.

 

 

 

If txtServidor.Text "" And txtBD.Text "" And txtUsuario.Text "" And txtPass.Text "" Then
Dim nuevaconexion As String = "Server=" & txtServidor.Text & ";Database=" & txtBD.Text & ";Uid=" & txtUsuario.Text & ";Pwd=" & txtPass.Text & ""

If claseconnect.ProbarConexion(nuevaconexion) Then
MessageBox.Show("Conexion exitosa", "OK", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
MessageBox.Show("Conexion erronea", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Else
MessageBox.Show("Todos los datos son necesarios", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If

Por ultimo el botón Guardar Conexión nos permitirá configurar la conexión en la propiedad ConnectionString que creamos para la aplicación y que siempre estará allí cuando la llamemos, para nuestro MySqlConnection.

If txtServidor.Text "" And txtBD.Text "" And txtUsuario.Text "" And txtPass.Text "" Then
Try
My.Settings.ConecctionString = "Server=" & txtServidor.Text & ";Database=" & txtBD.Text & ";Uid=" & txtUsuario.Text & ";Pwd=" & txtPass.Text & ""
My.Settings.Save()
MessageBox.Show("La Conexion se guardo correctamente", "OK", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

Else
MessageBox.Show("Todos los datos son necesarios", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If

Bueno espero les sea de utilidad… Pueden bajar el código de acá (Requisitos: Microsoft Visual Studio 2010, MySQL, Conector MySQL .NET).

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© VB-MUNDO – Visual Basic y mucho más
CyberChimps