Codigo para Concetar Mysql Con Csharp
Codigo para Concetar Mysql Con Csharp
Codigo para Concetar Mysql Con Csharp
en Winforms y XAMPP
https://youtu.be/2g4MPJ3fJt0
Si usas XAMPP para el desarrollo de páginas web etc, sabes lo fácil que es crear y
manipular bases de datos con el módulo integrado de PHPMyAdmin. Tambien
encontrarás fácil trabajar con esta en PHP, pero si tienes tambien conocimiento en .NET
puedes trabajar tambien con ella. MySQL ofrece un conector bastante sencillo que te
permite ejecutar consultas a una base de datos alojada en PHPMyAdmin desde tu
ventana en Winforms.
Requisitos
Visual Studio (cualquier versión).
Extensión de conector para MySQL .NET.
Distribución de XAMPP (asumiremos que sabes como usar mysql y xampp).
Implementación
Llevar esta tarea a cabo es más fácil de lo que piensas, para lograrlo sigue estos pasos:
Luego de la instalación, procede a crear una ventana vacía en Winforms como siempre
lo haces. Ahora agrega la referencia al conector de MySQL en tu proyecto. Localiza el
explorador de solución en la parte superior derecha de Visual Studio cuando tu proyecto
este abierto, da click derecho en Referencias y luego en Agregar referencias en el
menú contextual:
En el menú que aparecerá, navega a Extensiones y selecciona la casilla de
MySql.Data (MySql.Data.dll) y oprime en OK:
Ahora, será posible ejecutar consultas a tu base de datos en MySQL con C#.
Lo primero que tienes que hacer, es abrir el panel de control de Xampp y activar los
servicios de apache y mysql:
Crea la base de datos (en este ejemplo nuestra base de datos será test) y crearemos una
base de datos llamada user.
Nota
Ahora viene la parte divertidas ! Escribiremos algo de código para interactuar con la
base de datos. Primero, no olvides agregar la referencia a la clase de MySqlClient en tu
código:
using MySql.Data.MySqlClient;
Ahora puedes entender como funciona la conexión y cómo ejecutar una consulta usando
el siguiente snippet:
// Prepara la conexión
MySqlConnection databaseConnection = new
MySqlConnection(connectionString);
MySqlCommand commandDatabase = new MySqlCommand(query,
databaseConnection);
commandDatabase.CommandTimeout = 60;
MySqlDataReader reader;
// A consultar !
try
{
// Abre la base de datos
databaseConnection.Open();
// Ejecuta la consultas
reader = commandDatabase.ExecuteReader();
// IMPORTANTE :#
// Si tu consulta retorna un resultado, usa el siguiente proceso
para obtener datos
if (reader.HasRows)
{
while (reader.Read())
{
// En nuestra base de datos, el array contiene: ID 0,
FIRST_NAME 1,LAST_NAME 2, ADDRESS 3
// Hacer algo con cada fila obtenida
string[] row = { reader.GetString(0), reader.GetString(1),
reader.GetString(2), reader.GetString(3) };
}
}
else
{
Console.WriteLine("No se encontraron datos.");
}
// Cerrar la conexión
databaseConnection.Close();
}
catch (Exception ex)
{
// Mostrar cualquier excepción
MessageBox.Show(ex.Message);
}
Nota que usaremos un elemento listView con 4 columnas (al igual que en nuestra base
de datos), 3 cajas de texto y 2 botones.
Crear
try
{
databaseConnection.Open();
MySqlDataReader myReader = commandDatabase.ExecuteReader();
databaseConnection.Close();
}
catch (Exception ex)
{
// Mostrar cualquier error
MessageBox.Show(ex.Message);
}
}
En el siguiente snippet, listaremos todos los usuarios en la base de datos dentro del
elemento listView (si disponible, sino en la consola):
try
{
databaseConnection.Open();
reader = commandDatabase.ExecuteReader();
// Si se encontraron datos
if (reader.HasRows)
{
while (reader.Read())
{
// ID
First name Last Name Address
Console.WriteLine(reader.GetString(0) + " - " +
reader.GetString(1) + " - " + reader.GetString(2) + " - " +
reader.GetString(3));
// Ejemplo para mostrar en el listView1 :
//string[] row = { reader.GetString(0),
reader.GetString(1), reader.GetString(2), reader.GetString(3) };
//var listViewItem = new ListViewItem(row);
//listView1.Items.Add(listViewItem);
}
}
else
{
Console.WriteLine("No se encontro nada");
}
databaseConnection.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Actualizar
try
{
databaseConnection.Open();
reader = commandDatabase.ExecuteReader();
// Actualizado satisfactoriamente
databaseConnection.Close();
}
catch (Exception ex)
{
// Ops, quizás el ID no existe
MessageBox.Show(ex.Message);
}
}
Eliminar
try
{
databaseConnection.Open();
reader = commandDatabase.ExecuteReader();
// Eliminado satisfactoriamente
databaseConnection.Close();
}
catch (Exception ex)
{
// Ops, quizás el id no existe
MessageBox.Show(ex.Message);
}
}
Que te diviertas !
OTRO
//Cadena de conexion
Sesion.cadenaConexion =
String.Format("server={0};port={1};user id={2}; password={3};
database={4}", servidor, puerto, usuario, password, database);
using MySql.Data.MySqlClient;