Sunteți pe pagina 1din 6

CONECTARSE A MYSQL DESDE

C# [VISUAL STUDIO 2010]


Buenas noches a todos!, en esta entrada vengo a hacer un ejemplo que ya hemos hecho en Java, pero
ahora vengo a presentarles como hacerlo desde C# (o VisualBasic que es casi igual).
Lo que vamos a necesitar para esta practica es tener el conector de MySQL para .NET, lo podemos
descargar de aqui.
Primero iniciaremos un proyecto nuevo de winforms con C# en Visual Studio 2010, y crearemos una UI
muy simple, que contendra un data grid view y un boton para realizar la consulta, mirandose de la
siguiente manera:

La base de datos es la misma usada en ejemplos anteriores, es la BD Sakila que se puede descargar
desde la pagina de MySQL, si no haganla con la BD que ustedes deseen.
Para comenzar tenemos que tener instalado el connector que ya les puse arriba y por si acaso tendremos
que agregarlo en referencias:


Y acontinuacion buscamos MySQL.Data

Y damos OK.
En nuestro Form, nos vamos al codigo para empezar a realizar la conexion a la Base de datos
Agregamos la biblioteca de MySQL a nuestra seccion using
(disculpen lo derecho que rayo con mi
marcaTextos XD)
Y despues vamos a realizar un metodo llamado iniciarConexion() (al igual como lo hicimos en Java) que
lo mandamos a llamar en el constructor

Utilizamos MySqlConnection para realizar la conexion, esta clase es proporcionada por
MySql.Data.MySqlClient. En lo que tengo resaltado, simplemente creamos un objeto connection y una
cadena, que guardara todos los datos de conexion a nuestra base de datos en mySQL.
Enl los bloques try- catch se realiza la conexion, primero estableciendo toda la informacion que se tiene
en esa cadena, en Uid pones el nombre de tu usuario de mySql y en Pwd tu password. Se asigna esa
cadena a ConnectionString para que asi con Open realize la conexion. En dado caso de que el usuario o
el password o algun dato en la cadena este mal pues surgira el mensaje puesto dentro del bloque catch.

Una vez conectados a MySQl, ahora hay que hacer querys
Primero debemos de crear una clase que se llamara Actor.cs, con 2 propiedades como se muestra:

recuerdan donde creamos la cadenta connectionString?, debajo de el declararemos una Lista global que
contendra objetos de tipo Actor y lo
podemos hacer de la siguiente manera:

Y con el boton que hemos agregado,
vamos a dar doble clic para crear un evento y poner el siguiente codigo:

Vamos por pasos:
primero creamos un objeto de la clase MySqlCommand que sera nuestro objeto que realiza la consulta,
en CommandText le asignamos que consulta hara, en este caso es un simple SELECT con 2 campos de
la tabla Actor;
De MySqlDataReader creamos el objeto reader que este sera el que reciba los datos devueltos por la
consulta. Yo creo que queda mas que claro en la tercer linea con ExecuteReader se ejecuta la consulta y
devuelve un objeto que contiene todos los datos, y este viene siendo el objeto reader.
En este bucle while la condicion esta en el metodo Read, afirma si hay o no resultados en la consulta, si
los hay se posisionara en la primer fila de los resultados (por que lo que devuelve la consulta es otra
tabla) mientras se siga comprobando si hay mas resultados, Read ira posicionando a filas diferentes de la
tabla para asi agarrar los resultados de las demas filas, se crea un objeto Actor y se le asignan las 2
propiedades correspondientes de la fila actual que arrojo la consulta, y se agregan a la lista listaActores,
y posteriormente, cuando ya se tienen todos los datos guardados en la lista, se le asigna un datasource a
nuestro data grid view y este viene siendo la lista
Ahora hay que liberar recursos!, ya que por lo regular siempre se hacen mas de dos consultas, para eso
nos vamos debajo de donde asignamos el datasource a nuestro grid view

y tambien algo muy importante, es cerrar la conexion, lo haremos en un evento del form FormClosing

Y el resultado final sera el siguiente:

Espero y les sea de ayuda

S-ar putea să vă placă și