Sígueme por email

Google+ Badge


Conectar MySQL con .NET a través del Connector/NET 5.2

Publicado por María Paulina Ramírez Vásquez jueves, 27 de noviembre de 2008 6:28 p. m.
Reacciones: 

Hola a todos, aquí estoy de vuelta para compartir un artículo más. Por ahí un visitante de mi blog me hizo la sugerencia de colocar algo sobre cómo conectar una base de datos de MySQL con .NET. Pues atendiendo a su petición, haré un pequeño artículo (sencillo y claro) sobre este tema.

Primero que todo aclaro que para este ejercicio utilizaré la última versión de Visual Studio, la 2008, utilizaré como lenguaje de programación Visual Basic .Net y el Connector/Net 5.2 (puedes descargarlo en http://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-5.2.5.zip/from/http://mysql.cce.usp.br/). Bueno ya teniendo esto, procedemos a iniciar.

Para este ejercicio utilizaremos la misma tabla que hemos estado utilizando en los demás artículos: la tabla "persona", la cual creamos en el artículo Crear tablas en MySQL Administrator.

Insertemos unos datos de ejemplo en la tabla para hacer las respectivas consultas. Para esto podemos utilizar otra herramienta llamada MySQL Query Browser, de la misma familia que MySQL Administrator.

Ya en MySQL Query Browser, escogemos la base de datos "prueba", y seguido con doble clic (si prefieres) escogemos la tabla "persona"; luego le damos Execute para que ejecute la consulta que se genera al haber dado doble clic a la tabla "persona". Esta es uan vista con todas las acciones descritas; así debería verse la tabla "persona":

En la parte inferior de esa ventana hay un botón que dice Edit pulsamos allí y se nos habilita la tabla para ser editable. Así:

Luego que editamos, pulsamos en la parte inferior el botón que dice Apply Changes para que aplique los cambios hechos a la tabla. Si deseas conocer más sobre cómo usar esta herramienta, consulta la documentación de MySQL Query Browser en http://dev.mysql.com/doc/#guitools.

Bueno, ya hecho todo lo anterior, procedemos a iniciar Visual Studio 2008 y creamos una aplicación nueva.

A continuación haremos una consulta a nuestra base de datos y la mostraremos en un DataGridView. Para hacer esto, vamos a crear un nuevo origen de datos en el Explorador de Data Sources.

En la ventana del asistente de configuración de Data Sources, escogemos Database y luego procedemos a dar Next > como se muestra en la imagen a continuación.

En la siguiente ventana escogemos la conexión a la base de datos en MySQL. Para hacer estos pulsamos en el botón que dice New Connection... para escoger el conector apropiado. Tendremos una ventana como la siguiente:

Escogemos luego la opción Change... para escoger el conector de MySQL:

En la ventana de Add Connection, escribimos los parámetros para conectar a nuestra base de datos:

Server Name: Colocaremos el servidor, usualmente es "localhost" o en su defecto "127.0.0.1" que indica que estamos sobre la máquina local.

User Name: Colocaremos el nombre de usuario que estamos usando, usualmente es "root".

Password: Colocaremos la contraseña asociada al usuario que colocamos en el campo anterior.

Database: Colocaremos el nombre de la base de datos, en nuestro caso "prueba".

Haciendo lo descrito anteriormente, los datos ingresados quedarían de esta forma:

Si deseas probar si tu conexión está bien hecha, entonces pulsa el botón que dice Test Connection.

Si todo ha ido bien, entonces pulsamos en OK para continuar.

Al regresar a la ventana de conexión a datos, nos encontraremos con dos opciones que tratan sobre la manera en que se tratarán los datos en la cadena de conexión. Se nos pregunta si queremos que datos delicados, por ejemplo una contraseña, aparezcan en la cadena de conexión. La primera opción es para no guardar ese tipo de datos por razones de seguridad; la segunda opción agrega la contraseña a nuestra cadena de conexión. Escogemos la segunda opción y se agregará a la cadena de conexión "password=contraseña_del_usuario".

Lo anterior es equivalente al escribir "server=localhost;user id=root;database=prueba;password=123456;persist security info=True" en la propiedad ConnectionString del objeto mysqlConnection. Estas opciones podemos configurarlas en el archivo "Settings.settings" que se encuentra en la carpeta "My Project" del proyecto.

Luego damos en Next >. En la siguiente ventana se nos pregunta si almacenamos la cadena de conexión en el archivo de configuración de la aplicación. En nuestro caso escogemos "Yes, save the connection as:" y le damos un nombre. Pulsamos Next >.

Por último, cuando la conexión es establecida, nos mostrará los objetos contenidos en la base de datos: tablas, vistas, procedimientos, etc. En nuestro caso sólo tenemos las tablas que creamos, como tal podemos seleccionar la opción "Tables" y escogeremos automáticamente todas las tablas de la base de datos; en la parte inferior veremos un campo de texto para colocar el nombre con el que identificaremos el DataSet. Ya hecho esto, pulsamos Finish.

Listo. Ya hemos hecho una conexión con una base de datos de MySQL sin escribir una línea de código. En el explorador de orígenes de datos, veremos una lista con los objetos que contiene el DataSet creado.

Ya con esto, podemos arrastrar esos elementos como se hace habitualmente con una base de datos Access o SQL Server, quienes eran las únicas que nos daban estas posibilidades más rápidas.

Probemos que la conexión funciona correctamente. Para hacer esto, tomamos la tabla "persona" que tenemos en el explorador de orígenes de datos, y la arrastramos hacia el formulario. Automáticamente se asocia el control DataGridView para consultar los datos, así:

Por último ejecutamos la aplicación para ver los datos almacenados en la tabla "persona":

Es una manera muy rápida de conectar nuestra base de datos MySQL a una aplicación hecha en Visual Studio .Net, dándonos la posibilidad de crear objetos como los DataSets que pueden ser configurados a través del diseñador de DataSets, generar DataGridViews con datos en la base de datos, etc., sin escribir grandes cantidades de código; optimizándonos tiempo. Espero que haya sido de utilidad este artículo.