Sunteți pe pagina 1din 6

Conectarse a MySQL desde C# [Visual Studio 2010]

ABR 15 Publicado por Isaac Ojeda

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