Conectarse a una Base de Datos MySQl con ADO.Net

Antes de empezar a programar es necesario saber que es ADO.NET, la explicación que hare será corta:

ADO. NET es un conjunto de clases que posibilita el acceso a datos para los programadores de .NET, proveyendo un amplio y extenso set de componentes para la creación aplicaciones distribuidas. ADO.NET es una parte integral del framework .NET proveyendo un acceso relacional, XML y aplicaciones de datos. Las clases de ADO.NET se pueden encontrar en el namepace System.Data.dll.
Esta tecnología soporta una gran variedad de necesidades de desarrollo como pueden ser:
- Clientes Front-End de acceso a base de datos
- Nivel medio de objetos de negocios usado por aplicaciones, herramientas, lenguajes y exploradores de Internet.

Ya explicado que es ADO.NET pasamos a lo práctico.
Requerimientos
Antes de comenzar a programar hay que asegurarnos que tenemos instalado MySQL en nuestra maquina, si no lo tenemos hay que ir a la página de MySQL y bajar la última versión de este DBMS e instalarlo, la intalacion es super fácil y rápida, no les llevara más de 5 min.
También hay que tener instalado C# Express 2005 o VS 2005, también pueden ser las versiones 2008 o 2010, elijan el que quieran o puedan conseguir, por si acaso la versión 2008 de C# Express lo pueden bajar aquí.
Y por ultimo hay que tener el Driver de MySQL en nuestra maquina, para conseguirlo hagan click aquí.
Manos a la Obra
Nos vamos al menú inicio y nos vamos a ejecutar, ahí ponemos lo siguiente “mysql -u root –p”, sin comillas, esta instrucción lo que hace es abrir mysql como usuario Root, se nos abrirá un ventana de consola donde se nos pide ingresar un password, si no se cambio nada en la configuración de MySQL hay que dejar en blanco el password y pulsar enter, si todo salió bien tendremos una pantalla como la siguiente:
Ahora el siguiente paso es crear una base de datos, para lo cual en la consola ponemos la siguiente instrucción “CREATE DATABASE db_name;”, sin comillas y reemplazando db_name por el nombre que deseamos que posea nuestra base de datos.
Si todo salió bien el sistema nos indicara que la operación se realizo con éxito, pero para comprobar que nuestra base de datos existe ponemos la siguiente instrucción: “Show Databases;”, el sistema nos tendría que desplegar todas las bases de datos y ahí tendría que estar el nombre de la que creamos.
En este caso en particular crearemos la base de datos Zoologico, como podemos ver en la siguiente pantalla, todo salió correctamente y tenemos nuestra base de datos creada.

Ahora necesitamos crear un tabla dentro de la base de datos y llenarla con datos para luego poder visualizar estos datos en nuestra aplicación creada en C#.
Así que hagámoslo, para crear la tabla lo primero que debemos hacer es empezar a usar la base de datos para lo cual ejecutamos la siguiente instrucción: “Use Zoologico;”, el sistema nos informara que la base de datos fue cambiada, lo cual es correcto, ahora que ya estamos usando la base de datos debemos crear una tabla que nombraremos “mascota”, para lo cual ejecutamos la siguiente instrucción: “CREATE TABLE mascota (nombre varchar(25), propietario varchar(25), especie varchar(25), sexo char(1), nacimiento date, fallecimiento date);”, en la instrucción se denota el Nombre de la tabla que es en este caso “mascota” y también los campos que va a poseer, en este caso son tres cadenas de texto de 25 posiciones (varchar), un campo de un carácter(char) y por último los campos de fechas (date). Ahora la tabla ya está lista para recibir datos, y lo hacemos de la siguiente manera:
INSERT INTO `zoologico`.`mascota` (
`nombre` ,
`propietario` ,
`especie` ,
`sexo` ,
`nacimiento` ,
`fallecimiento`
)
VALUES (
'Been', 'MySelf', 'Perro', 'M', '2004-04-14', NULL ), ('Odie', 'Andres', 'Perro', 'M', '2008-04-23', NULL ), ('Olafo', 'Carlos', 'Perro', 'M', '2008-02-04', NULL );.
Esta instrucción lo que hace es primero seleccionar la base de datos, la tabla a la que queremos agregar los datos, después se mencionan los campos de la tabla separados por comas y por último se pone la palabra reservada VALUES y entre paréntesis los datos.
Ahora comencemos a desarrollar la aplicación, para lo cual hay que abrir, en mi caso, el vs 2005 ahí procedemos a crear un proyecto de C# del tipo aplicación de Windows, le damos un nombre y listo.
Luego procedemos a agregar algunos controles, como son un botón y un datagridview, el formulario debería de quedarnos de la siguiente manera (fig. 1.1), después nos vamos al código y agregamos los siguientes nameSpaces, previamente habremos agregado las referencias correspondientes a estos nombres de espacio:

- using MySql.Data;
              - using
MySql.Data.MySqlClient;
Figura 1.1
Lo que sigue es crear las variables necesarias para realizar la conexión como sigue:
private DataSet bdl;//DataSet de datos
private DataTable tabla;//Tabla que almacena datos
private MySqlDataAdapter adaptador;//Objeto que sirve para comunicar al dataset con el DBMS
private MySqlConnection conn;//Objeto que realiza la conexion con el DBMS
private MySqlCommand cmd;//Objeto para la ejecucion de sentencias SQL
Luego creamos el método CrearConexion de la siguiente manera:
try
{
bdl = new DataSet("zoologico");
tabla = new DataTable("Mascota");
conn = new MySqlConnection("Database=zoologico;Data Source=localhost;User Id=root;Password=");
cmd = new MySqlCommand("Sentencia SQL", conn);
adaptador = new MySqlDataAdapter(cmd);
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message, "Error al intentar conectarse", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
En el código claramente se percibe como se instancia cada objeto, por si acaso en lugar de “Sentencia SQL”, hay que poner una sentencia SQL valida.
La cadena de conexión siempre debe de especificar la base de datos a la que deseamos tener acceso, la ubicación del recurso y si fuera necesario el usuario y su password respectivo.
Por último hay que crear el evento correspondiente al botón conectarse y poner el siguiente código:
private void button1_Click(object sender, EventArgs e)
{
conn.Open();//Abre la conexion
cmd.CommandText = "SELECT * from Mascota";//Al objeto cmd le asignamos una sentencia SQL
adaptador.Fill(tabla);//El objeto adaptador llena nuestra tabla con la instruccion declarada arriba
bdl.Tables.Add(tabla);//Se agrega la tabla al DataSet
dataGridView1.DataSource = bdl.Tables["Mascota"];//Se le indica al DataGridView que use los datos almacenados en el DataSet
conn.Close();//Cierra la conexion
}
Ahora compilemos y ejecutemos el programa, si hemos hecho correctamente las cosas tendríamos la siguiente pantalla después de conectarnos:
Eso seria todo. Suerte!

Comentarios

Publicar un comentario

Entradas populares de este blog

Conectarse a un Web Service en PHP con WPF

Ejecutar comandos en el CMD de Windows desde C#

Usar Log4Net en un proyecto ASP.NET MVC