En este artículo te mostraré cómo conectarte a una base de datos MySQL usando MySQL Connector .NET, usaremos un servidor Apache local creado con XAMPP.
Requisitos previos:
Microsoft Visual Studio Community 2022: versión disponible en el sitio web microsoft.com
XAMPP instalado: vaya al instalador Apache Friends para descargar XAMPP y ver   ;
Los archivos DLL .NET de MySQL Connector: disponibles en el sitio mysql.com o en nuestro proyecto para descargar al final de este artículo.
Empecemos
Inicie los servicios Apache y MySQL desde el Panel de control de XAMPP. Ahora podemos pasar a los pasos de creación y conexión de la base de datos desde una aplicación C#.
Abra la página de administración de MySQL (desde el Panel de control de XAMPP o escriba 127.0.0.1 en la URL de su navegador) y cree una nueva base de datos. En nuestro ejemplo lo llamaremos "DBContacts".
Después de crear su base de datos, agréguele una tabla. En nuestro ejemplo creamos una tabla de "contact" con los siguientes campos:
id (INTEGER), name (VARCHAR), tel (VARCHAR).
--
--Structure of the `contact` table
--
CREATE TABLE IF NOT EXISTS `contact` (
`id` int(10) NOT NULL,
`name` varchar(250) NOT NULL,
`tel` varchar(250) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Ahora es el momento de crear tu proyecto en Visual Studio. Abra el IDE y agregue un nuevo proyecto. Por mi parte lo llamo MySQLConCCharp. Una vez creado el proyecto añadiremos las "referencias", es decir las librerías que nos permitirán trabajar con MySQL. Un pequeño recordatorio: una biblioteca no es más que un archivo DLL, compuesto por clases. Para hacer esto, haga clic derecho en "Referencia" para agregar una nueva referencia. Importe el archivo DLL MySql.Data.dll descargado previamente.
Agregue el espacio de nombres MySql a su proyecto; este ensamblado será necesario para la clase DBContacts que se muestra a continuación.
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
// MySQL library added in references.
using MySql.Data.MySqlClient;
namespace MySQLConCCharp
{
}
Connection string overview
// 127.0.01 is the localhost address of the Apache XAMPP server
// We created a database named "Customers"
// The default user when installing XAMPP is "root" without a password.
string connectionString = "SERVER=127.0.0.1; DATABASE=Customers; UID=root; PASSWORD=";
El siguiente código muestra cómo insertar datos en una tabla MySQL. Para hacer esto, creemos una clase de Contacto simple y un Cliente como ejemplo con un método (o función) de agregar y conectar.
public class Contact
{
// Creation of 3 properties identifier, name and telephone
public int Id { get; set; }
public string Name { get; set; }
public string Tel { get; set; }
// Constructor
public Contact()
{
}
}
La clase DBContacts permitirá la comunicación entre la base de datos SQL y el programa. La inicialización de la conexión se realiza en el constructor. Es muy posible que no hagamos esto y pongamos el método InitConnection en público con la cadena de conexión como parámetro.
public class DBContacts
{
private MySqlConnection connection;
// Constructor
public DBContacts()
{
this.InitConnexion();
}
// Method to initialize the connection
private void InitConnexion()
{
//Creating the connection string
string connectionString = "SERVER=127.0.0.1; DATABASE=Customers; UID=root; PASSWORD=";
this.connection = new MySqlConnection(connectionString);
}
// Method to add a contact
public void AddContact(Contact contact)
{
try
{
// Open SQL connection
this.connection.Open();
// Creation of an SQL command based on the connection object
MySqlCommand cmd = this.connection.CreateCommand();
// SQL request
cmd.CommandText = "INSERT INTO contact (id, name, tel) VALUES (@id, @name, @tel)";
// use of the contact object passed as a parameter
cmd.Parameters.AddWithValue("@id", contact.Id);
cmd.Parameters.AddWithValue("@name", contact.Name);
cmd.Parameters.AddWithValue("@tel", contact.Tel);
// Executing the SQL command
cmd.ExecuteNonQuery();
// Closing the connection
this.connection.Close();
}
catch
{
// Error management :
// Possibility of creating a Logger for SQL exceptions received
// Possibility of creating a method with a boolean in return to know if the contact was added correctly.
}
}
}
Uso en código:
static class Program
{
static void Main(string[] args)
{
// Create a contact to add
Contact contact = new Contact();
contact.Id = 1;
contact.Name = "John";
contact.Tel = "2567407000";
// Creation of the DBContacts object for interaction with the MySQL database
DBContacts dbContacts = new DBContacts();
dbContacts.AddContact(contact);
}
}
Para finalizar acabamos de ver cómo crear una conexión local a MySQL con C# así como un breve uso del procesamiento de datos. Tenga en cuenta que su aplicación puede volverse extremadamente interesante si aloja esta base de datos en un servidor remoto. Esta manipulación le permitirá crear aplicaciones compartidas de la misma forma que un cliente/servidor.