DEV Community

Darwing  Castellanos
Darwing Castellanos

Posted on

Conexión C# con Mysql

Para realizar la conexión con una base de datos MySQL desde .NET hay que realizar lo siguiente (siguiendo una sintaxis de C#):

Hay que hacer referencia a:
using MySql.Data.MySqlClient;

Conectarse a MySQL con .NET

string connectionString = "Server=127.0.0.1;Port=3306;Database=personal;Uid=root;password=test;";
MySqlConnection conexion = new MySqlConnection(connectionString);



Enter fullscreen mode Exit fullscreen mode

Abrir la conexión con la base de datos

conexion.Open();


MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conexion;
cmd.CommandText = "select/insert/update aqui";
Enter fullscreen mode Exit fullscreen mode

Consultar información de la base de datos con .NET (select)

MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conexion;
cmd.CommandText = $"select * from Articulo where id = ?articuloId";
cmd.Parameters.Add("?articuloId", MySqlDbType.Int32).Value = articuloId;
Articulo articulo = new Articulo();
using (var reader = cmd.ExecuteReader())
{
    while (reader.Read())
    {
        articulo.Id = Convert.ToInt32(reader["id"]);
        articulo.Titulo = reader["Titulo"].ToString();
    }
}
return articulo;
Enter fullscreen mode Exit fullscreen mode

Insertar valores en una base de datos con .NET (insert)

using (MySqlConnection conexion = new MySqlConnection(connectionString))
{
    conexion.Open();

    MySqlCommand cmd = new MySqlCommand();
    cmd.Connection = conexion;
    cmd.CommandText = "INSERT INTO `ejemplo-conexion`.`Articulo` (`Titulo`, `Contenido`, `AutorId`, `Fecha`) VALUES (?titulo, ?contenido, ?autorid, ?fecha);";

    cmd.Parameters.Add("?titulo", MySqlDbType.VarChar).Value = $"nuevo titulo";
    cmd.Parameters.Add("?contenido", MySqlDbType.VarChar).Value = $"nuevo contenido";
    cmd.Parameters.Add("?AutorId", MySqlDbType.Int32).Value = 1;
    cmd.Parameters.Add("?fecha", MySqlDbType.DateTime).Value = DateTime.Now;

    cmd.ExecuteNonQuery();
}
Enter fullscreen mode Exit fullscreen mode

recoger el ID insertado

cmd.ExecuteNonQuery();
var ultimoId = cmd.LastInsertedId;
Enter fullscreen mode Exit fullscreen mode

Actualizar valores de una base de datos con .NET (update)

using (MySqlConnection conexion = new MySqlConnection(connectionString))
{
    conexion.Open();

    MySqlCommand cmd = new MySqlCommand();
    cmd.Connection = conexion;
    cmd.CommandText = "update `ejemplo-conexion`.`Articulo` SET `Titulo` = ?titulo where ID = ?id;";

    cmd.Parameters.Add("?titulo", MySqlDbType.VarChar).Value = $"titulo actualizado";
    cmd.Parameters.Add("?id", MySqlDbType.Int32).Value = 3;

    cmd.ExecuteNonQuery();
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)