Configurar un ConnectionString dinamicamente

Nota Vista 20.152 Veces

Warning: fopen(/home/admin/domains/vb-mundo.com/public_html/wp-content/plugins/devformatter/geshi/geshi\csharp.php) [function.fopen]: failed to open stream: No such file or directory in H:\root\home\monsolutions-001\www\VB-MUNDO\wp-content\plugins\devformatter\devgeshi.php on line 205

Warning: fopen(/home/admin/domains/vb-mundo.com/public_html/wp-content/plugins/devformatter/geshi/geshi\csharp.php) [function.fopen]: failed to open stream: No such file or directory in H:\root\home\monsolutions-001\www\VB-MUNDO\wp-content\plugins\devformatter\devgeshi.php on line 205

Warning: fopen(/home/admin/domains/vb-mundo.com/public_html/wp-content/plugins/devformatter/geshi/geshi\csharp.php) [function.fopen]: failed to open stream: No such file or directory in H:\root\home\monsolutions-001\www\VB-MUNDO\wp-content\plugins\devformatter\devgeshi.php on line 205

Warning: fopen(/home/admin/domains/vb-mundo.com/public_html/wp-content/plugins/devformatter/geshi/geshi\csharp.php) [function.fopen]: failed to open stream: No such file or directory in H:\root\home\monsolutions-001\www\VB-MUNDO\wp-content\plugins\devformatter\devgeshi.php on line 205

Warning: fopen(/home/admin/domains/vb-mundo.com/public_html/wp-content/plugins/devformatter/geshi/geshi\csharp.php) [function.fopen]: failed to open stream: No such file or directory in H:\root\home\monsolutions-001\www\VB-MUNDO\wp-content\plugins\devformatter\devgeshi.php on line 205

Warning: fopen(/home/admin/domains/vb-mundo.com/public_html/wp-content/plugins/devformatter/geshi/geshi\csharp.php) [function.fopen]: failed to open stream: No such file or directory in H:\root\home\monsolutions-001\www\VB-MUNDO\wp-content\plugins\devformatter\devgeshi.php on line 205

 

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:

 csharp |  copy code |? 
  1. Imports MySql.Data.MySqlClient
  2. Public Class clConexion
  3.     Private ConexionBD As New MySqlConnection(My.Settings.ConecctionString)
  4.     Public Function ProbarConexion(ByVal nuevaconexion As String) As Boolean
  5.         ConexionBD.ConnectionString = nuevaconexion
  6.         If AbrirConexion() Then
  7.             ProbarConexion = True
  8.             CerrarConexion()
  9.         Else
  10.             ProbarConexion = False
  11.         End If
  12.     End Function
  13.     Private Function AbrirConexion() As Boolean
  14.         Try
  15.             ConexionBD.Open()
  16.             AbrirConexion = True
  17.         Catch ex As Exception
  18.             MessageBox.Show(ex.Message)
  19.             AbrirConexion = False
  20.         End Try
  21.     End Function
  22.     Private Function CerrarConexion() As Boolean
  23.         Try
  24.             ConexionBD.Close()
  25.             CerrarConexion = True
  26.         Catch ex As Exception
  27.             MessageBox.Show(ex.Message)
  28.             CerrarConexion = False
  29.         End Try
  30.     End Function
  31. 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.

 

 

 

 csharp |  copy code |? 
  1. If txtServidor.Text  "" And txtBD.Text  "" And txtUsuario.Text  "" And txtPass.Text  "" Then
  2.             Dim nuevaconexion As String = "Server=" & txtServidor.Text & ";Database=" & txtBD.Text & ";Uid=" & txtUsuario.Text & ";Pwd=" & txtPass.Text & ""
  3.             If claseconnect.ProbarConexion(nuevaconexion) Then
  4.                 MessageBox.Show("Conexion exitosa", "OK", MessageBoxButtons.OK, MessageBoxIcon.Information)
  5.             Else
  6.                 MessageBox.Show("Conexion erronea", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
  7.             End If
  8.         Else
  9.             MessageBox.Show("Todos los datos son necesarios", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning)
  10.         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.

 csharp |  copy code |? 
  1. If txtServidor.Text  "" And txtBD.Text  "" And txtUsuario.Text  "" And txtPass.Text  "" Then
  2.             Try
  3.                 My.Settings.ConecctionString = "Server=" & txtServidor.Text & ";Database=" & txtBD.Text & ";Uid=" & txtUsuario.Text & ";Pwd=" & txtPass.Text & ""
  4.                 My.Settings.Save()
  5.                 MessageBox.Show("La Conexion se guardo correctamente", "OK", MessageBoxButtons.OK, MessageBoxIcon.Information)
  6.             Catch ex As Exception
  7.                 MessageBox.Show(ex.Message)
  8.             End Try
  9.         Else
  10.             MessageBox.Show("Todos los datos son necesarios", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning)
  11.         End If

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

Rolyn Gamez Rolyn Gamez (9 Posts)

Gerente Propietario de DataTech Solutions S. de R.L. con los siguientes servicios: * Venta y Reparación de Computadoras de todo tipo (portátiles, escritorio, servidores). * Venta de Impresoras de todo tipo (Laser, Inyeccion de Tinta, Matriciales, Multifuncionales). * Venta de Copiadoras segun el presupuesto del cliente (optando a adquirirla a plazos directamente con el proveedor). * Trabajos Secretariales * Diseño Gráfico * Creación y Mantenimiento de Redes Informáticas * Desarrollo de Software a su medida. * Implementación de Software Empresarial, Administrativo, Contable, etc.



8 Responses

  1. JORGE dice:

    EXCELENTE ESTABA NECESITANDO ESTO ….EN LA INTERNET NO HAY MUCHO SOBRE ESTO …SIENDO IMPORTANTE AL MOMENTO DE CREAR UNA APLICACION

  2. simon dice:

    gracias amigos. Una pregunta nos puedes indicar una manera facil de encriptar la cadena de conexion para que no sea visible en el archivo de configuracion gracias a los dataset tipificados

  3. romino dice:

    oye pero como lo restauramos pues al realizar esto ya no deja utilizar las Query usando el diseñador de datasource

  4. russel dice:

    esta bueno este material…

  5. diego dice:

    Hola, tengo una pregunta, si el usuario y password no son necesarios y los omito se produce un error, ¿Qué puedo hacer en este caso?

  6. Lener dice:

    Una consulta porque al memento de asignar el valor en My.Settings.ConnectionString me da error que solo es de lectura (ReadOnly)

  7. ariel ibañez dice:

    Amigo, necesito como hacer un formulario de creación de usuarios y privilegios serias muy amable de compartirme unos códigos o algún link para saber…Base de datos mysql interfaz grafica vb.net 2010

  8. Victor Noguera dice:

    Muchas gracias por este excelente ejemplo.
    Gracias.

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