You are on page 1of 5

COMO CONECTARSE A UNA BASE DE DATOS MYSQL CON ADO.

NET

En la U este semestre estoy llevando Bases de Datos II y por ende ya pase de la teoría de Base
de Datos I a la práctica, como el nombre de este articulo dice ahora vamos a hacer la conexión
de una base de Datos MySQL a un programa hecho en C# con el framework .NET, además
como no todo el mundo va a necesitar hacer un programa en C# también adjunto el mismo
programa hecho en J# y VB.

Introducción Teórica

Antes de empezar a programar es necesario saber que es ADO.NET, la explicación que hare
será corta porque planeo escribir otra entrada donde me explayare un poco más así que aquí
va:

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, 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:
Bueno eso sería todo, para una próxima espero escribir sobre cómo hacer esto mismo pero
hacia una base de datos en SQL Server, nos vemos cualquier duda solo pregunten bye.

You might also like