Como conectarte a una base de datos MySQL desde Basic.

En esta pr谩ctica vamos a crear una conexi贸n a un servidor MySQL que nos permitir谩 realizar consultas a dicha base de datos. Para ello necesitaremos una conector que nos proporciona Oracle y que puedes descargar desde la siguiente url.

descargar conector

Te podr谩s bajar la versi贸n registrandote con una nueva cuenta de Oracle, o desde tu cuenta. Tambi茅n te lo puedes descargar sin registro.

descargar conector

Una vez te hayas descargado la aplicaci贸n tendr谩s que instalarla. Eso es necesario para que puedas tener acceso no solo a las .dll necesarias de la conexi贸n, sino adem谩s para que puedas utilizarlas en otros proyectos con otros lenguajes de programaci贸n.

proceso de instalaci贸n

Por defecto se instalar谩 dentro de la carpeta de C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.21\Assemblies\v4.5.2 y el archivo que necesitar谩s utilizar se llama Mysql.Data.dll

archivo que tienes que utilizar

驴Que versi贸n es mejor?

La 煤ltima actualizaci贸n del conector MySQL de Oracle esta optimizada para versiones del motor Framework superiores a la 4.5, aunque se recomienda una versi贸n de 4.8 o superior. Para versiones de NET.Framework inferiores a la 4.6, deberas de instalar versiones anteriores del conector MySQL (recomendada la versi贸n 6.4.3), aunque todo depender谩 de la versi贸n de tu Framework y de la versi贸n de tu IDE de Studio.

En este tutorial se va a utilizar la versi贸n 4.8 de NET.Framework en un nuevo proyecto de Windows Form.

Abre un nuevo proyecto de Windows Form y ponle el nombre de ConectorMySQL.

Crear nuevo proyecto Windows Form

Agregar referencia.

Ya has instalado el conector en tu ordenador. Para empezar a usarlo debe de agregar una referencia a la librer铆a descargada dentro de tu proyecto. Para ello abre las propiedades de tu proyecto (recuerda que pulsando sobre el nombre del proyecto dentro del Explorador de Soluciones se te abrir谩 la ventana de Debug.

Pantalla del editor de proyecto

En la primera pesta帽a, Aplicaci贸n, deber谩s de ver la versi贸n de .NET Framework en la que est谩s trabajando. Ya he comentado que para que funcione la aplicaci贸n deber谩 de estar en la como m铆nimo en la versi贸n 4.6.

Selecciona a continuaci贸n la pesta帽a Referencias y pulsa sobre el bot贸n Agregar.

Referencia la librer铆a

Se te abre una ventana en la cual en la opci贸n de Examinar te permite escoger el archivo de librer铆a que te has descargado anteriormente. Recuerda la ruta de la instalaci贸n del archivo. Cuando pulses sobre Aceptar se incluir谩 la referencia.

incluir referencia externa

Al pulsar Aceptar se cierra la ventana y se ha agregado la referencia dentro del proyecto para que la puedas utilizar a tu gusto.

Agregar librer铆a externa

Conexi贸n a BBDD.

Antes de nada lo que hay que hacer es importar la librer铆a al proyecto. Para eso abre el c贸digo de tu proyecto e inserta fuera de la clase principal la librer铆a a utilizar:

imports Mysql.Data.MysqlClient

Ahora tenemos que realizar la conexi贸n al servidor de la base de datos. Para ello previamente tienes que haber creado una Base de datos en tu servidor MySQL a la que poder apuntar la conexi贸n. Yo ya tengo creada una BBDD llamada visualb, por lo que realizo la conexion dentro utilizando dos variables.

variables de conexi贸n a servidor

La primera variable sirve para guardar los datos de conexi贸n al servidor y base de datos. En este caso ser谩 localhost y la base se llama visualb. El usuario de dicha base es root y no tiene contrase帽a.

Como lo que quiero es probar la conexi贸n, voy a utilizar un bot贸n para escribir el c贸digo y me muestre un aviso de que la conexi贸n es satisfactoria o no hay conexi贸n. Para ello agrega un nuevo bot贸n al formulario con la propiedad Text igual a Probar y dentro del mismo escribe el siguiente c贸digo:

C贸digo para comprobar la conexi贸n

Cuando ejecutes el programa se te mostrar谩 un mensaje u otro en funci贸n del estado de tu servidor de bbdd.

Fallo de conexi贸n a BBDD

En este caso se ha producido un fallo de conexi贸n porque no ten铆a abierto el servicio de XAMPP en localhost y no pod铆a conectarse a la BBDD visualb. Cuando activo el servicio, se conecta sin ning煤n tipo de problemas.

conexi贸n satisfactoria

Crear y mostrar el contenido.

Una conexi贸n no sirve de nada si no tenemos datos que mostrar. Ya he creado la BBDD llamada visualb, pero ahora tendr茅 que crear contenido en forma de tabla.

Base de datos visualb vac铆a

Voy a crear una tabla Usuarios con tres campos: Un campo Id auto num茅rico tipo entero, un campo Nombre tipo Varchar y un campo Edad de tipo entero.

create table Usuarios(Id int(11) primary key auto_increment,Nombre varchar(25), Edad int(3));

Tambi茅n voy a insertar contenido dentro de la tabla Usuarios para poder llamar despu茅s al contenido.

insert into Usuarios values(1, "Pascual", 43);

Ahora ya solo me queda realizar la connectionString para poder sacar los datos de la tabla Usuarios de dicha base de datos.

Necesitamos declarar una nueva variable dentro del proceso principal que ser谩 la que se encargue de manipular la informaci贸n. Esa variable la llamar茅 comando, ya que ser谩 la que se encargue de plasmar en la aplicaci贸n nuestras ordenes a la BBDD de MySQL. Pero tambi茅n necesitamos otra variable que nos proporcionar谩 la consulta que queremos realizar y que, como ser谩 una consulta de selecci贸n, llamar茅 selecci贸n. Por lo que ahora nos quedar谩n cuatro variables p煤blicas en dicho proceso:

Variables para la manipulaci贸n de objetos MySQL

Agregar controles para la representaci贸n.
Para la representaci贸n de los datos, vamos a utilizar un control DataGridView que podemos encontrar en nuestro Cuadro de Herramientas en la secci贸n de Datos. Arrastra dicho control al formulario y redimensiona al gusto. Ahora hay dos formas de proceder: Cuando comprobemos la conexi贸n que se cargue el contenido en el DataGridView o creamos un nuevo control para ejecutar la consulta. Yo me voy a decantar por ejecutar la consulta aparte de la comprobaci贸n.

Formulario con bot贸n de pruebas y bot贸n de cargar datos

Configurar DataGridView.
La nueva variable selecci贸n de la propiedad MysqlCommand creada anteriormente, nos servir谩 para establecer el commandText (consulta), de la instrucci贸n SQL que queremos ejecutar. Asignaremos a dicha variable una cadena String que indicar谩 el tipo de consulta que queremos ejecutar. Pero primero tenemos que indicar a VB.NET que vamos a hacer una consulta, por lo tanto tenemos que asignar la consulta al objeto de conexi贸n anterior para poder hacer la consulta correctamente. Despu茅s, como es una consulta para ver los datos, en el commandText estableceremos la sentencia de consulta:

selecci贸n.Connection = mysqlConnection
selecci贸n.CommandText = "SELECT * FROM Usuarios;"

Para la estructura del DataGridView, primero hay que crear un objeto DataTable que servir谩 para poder copiar los datos de una tabla al control. Y despu茅s creamos otro objeto que ser谩 el adaptador de la tabla de la BBDD. El objeto adaptador deber谩 estar rellenado con la consulta que queremos mostrar en el DatagridView, por lo que asignamos a 茅ste objeto a la variable selecci贸n. Y para finalizar tenemos que rellenar con el m茅todo fill(), todo el contenido del control DataGridView seg煤n los datos de la tabla de origen y asignar el DataSource (fuente de origen de datos) del DataGridView, al Datatable.

Finalizamos cerrando la conexi贸n porque no la vamos a usar, y hay que cerrarla para que no nos de un error al ejecutar la consulta y visualizaci贸n.

selecci贸n.Connection = mysqlConnection
selecci贸n.CommandText = "SELECT * FROM Usuarios;"
Dim dt As New DataTable
Dim da As New MySqlDataAdapter(selecci贸n)
da.Fill(dt)
DataGridView1.DataSource = dt
mysqlConnection.Close()

Resultado de cargar la tabla de Usuarios dentro del DataGridView