Cargando



Como enlazar y consultar mysql desde c#

Vamos a ver como enlazar a una base de datos mysql desde C#. Generar una conexión a una base de datos MySQL con C# y hacer consultas, como el leguaje es .net es básicamente igual a la forma en Visual Basic.net, pero la sintaxis cambia un poco.


mar 20 2014 00:56
Profesional
mar 20 2014 12:18

th.jpeg


Vamos a ver como enlazar a una base de datos mysql desde C#. Generar una conexión a una base de datos MySQL con C# y hacer consultas, como el leguaje es .net es básicamente igual a la forma en Visual Basic.net, pero la sintaxis cambia un poco.

Para organizar el codigo creamos una clase donde se ponen todas las funciones y procedimientos que tengan que ver con MySQL y la base de datos. La clase la llamaremos mysql.cs.

Dependencias y Referencia mysql.data


Como en todo proyecto .net donde queramos utilizar mysql, debemos hacer referencia a la librería mysql.data.dll. Ésta se descarga desde la página de MySQL.

Para agregarla a nuestro proyecto, si utilizamos Visual studio, vamos a las barras de la derecha y hacemos clic en el botón derecho donde aparece el nombre del proyecto y le damos a 'Agregar referencia'.

Ahora, en nuestra clase mysql agregamos las directivas using. Las tenemos que agregar al comienzo de la clase, junto con las demás dependencias y referencias.


//Código C#.
using MySql.Data;
using MySql.Data.MySqlClient;

Variables globales

Antes que nada, en nuestra clase definimos las variables que usaremos para ejecutar consultas y demás a la base de datos. Para eso agregamos las siguientes líneas luego del class, que corresponden al datareader, mysqlcommand y el mysqlconnection.

//Código C#.
MySqlCommand Query = new MySqlCommand();
MySqlConnection Conexion;
MySqlDataReader consultar;
public string sql = ";server=localhost;user id=root;database=mibasededatos;password=miclave";

Testeando conexión
Vamos a crear un procedimiento de ejemplo para probar nuestra conexión. Importante:

//Código C#.
public void test_connection()
{
try
{
Conexion = new MySqlConnection();
Conexion.ConnectionString = sql;
Conexion.Open();
MessageBox.Show("Conectado con éxito");
Conexion.Close();
} catch (MySqlException e) {
MessageBox.Show(e.Message);
}
}

Realizamos consultas a la base de datos MySQL

Aqui debemos tener en cuenta que debemops abrir y cerrar las conexiones, pues si una que queda abierta y tendremos excepciones, es decir errores cuando intentemos operar nuevamente con esta conexion. Para éste ejemplo vamos listar los resultados de una consulta hacia una tabla de una base de datos de clientes.

//Código C#.
public void get_cliente()
{
try
{
Conexion = new MySqlConnection();
Conexion.ConnectionString = sql;
Conexion.Open();
Query.CommandText = "SELECT id, nombre, telefono FROM clientes LIMIT 1";
Query.Connection = Conexion;
consultar = Query.ExecuteReader();
while (consultar.Read())
{
int id = consultar.GetInt32(0);
string nombre = consultar.GetString(1);
string telefono = consultar.GetString(2);
MessageBox.Show("Cliente:\n" + id + " " + nombre + " " + telefono + " "\n");
}
Conexion.Close();
}
catch (MySqlException e)
{
MessageBox.Show(e.Message);
}
}

La consulta sql genera una matriz consultar por ello luego para acceder implementamos el numero de registro que queremos listar ejemplo el nombre es consultar.GetString(1), tipo texto, mientras que consultar.GetInt32(0) es un numero entero;

El resultado será mostrado en un MessageBox para ver en modo rapido y comprobar que todo funciona luego podremos utilizar otros controles como grillas o lisbox para mostrar los datos de los clientes.

Recordar que es muy importante luego de realizar la consulta y mostrar los datos, hay que cerrar la conexion para no generar problemas luego cuando intentemos hacer otra operacion con esa tabla o para que no quede en memoria consumiendo recursos innecesariamente.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X