Tabla de Contenidos
Conexión y Consultas a MySQL
Descarga necesaria:
<html><a href=“https://dev.mysql.com/downloads/connector/net/6.9.html” target=“_blank”>MySQL Connector/Net</a></html>
Archivos a incluir en el proyecto
- MySql.Data.dll
- MySql.Data.Entity.EF5.dll
- MySql.Data.Entity.EF6.dll
- MySql.Fabric.Plugin.dll
- MySql.Web.dll
Nota: Hay versiones de X86 y X64.
Agregar la referencia en el proyecto:
MySql.Data
Agregar al inicio:
using MySql.Data.MySqlClient;
Conexión:
public static MySqlConnection ConectarMySQL( string host, int puerto, string usuario, string contrasena, string nombreBaseDatos = null) { StringBuilder CadenaConexion = new StringBuilder(); CadenaConexion.Append("Server = " + host + ";"); CadenaConexion.Append("Port = " + puerto + ";"); if (!string.IsNullOrEmpty(nombreBaseDatos)) CadenaConexion.Append("Database = " + nombreBaseDatos + ";"); CadenaConexion.Append("Uid = " + usuario + ";"); CadenaConexion.Append("Pwd = " + contrasena + ";"); CadenaConexion.Append("Convert Zero Datetime = True;"); CadenaConexion.Append("Connection Timeout = 5;"); MySqlConnection Conexion = new MySqlConnection(CadenaConexion.ToString()); try { CadenaConexion.Clear(); Conexion.Open(); Conexion.Close(); } catch (MySqlException ex) { // Proceso el error; } return Conexion; }
Ejemplo Consulta:
public static DataTable Consulta() { DataTable Retorna = new DataTable(); try { MySqlConnection Conexion = ConectarMySQL("localhost", 3306, "Usuario", "Contraseña", "BaseDatos"); string Consulta = "SELECT * FROM Tabla WHERE Campo = @Val;"; MySqlCommand cmd = new MySqlCommand(Consulta, Conexion); cmd.Parameters.AddWithValue("@Val", "El Valor"); MySqlDataAdapter da = new MySqlDataAdapter(cmd); Conexion.Open(); da.Fill(Retorna); Conexion.Close(); } catch (Exception ex) { // Proceso el error; } return Retorna; }
Ejemplo Insertar:
public static void Insertar() { try { MySqlConnection Conexion = ConectarMySQL("localhost", 3306, "Usuario", "Contraseña", "BaseDatos"); StringBuilder Consulta = new StringBuilder(); Consulta.Append("INSERT INTO Tabla "); Consulta.Append("(Campo1,Campo2)"); Consulta.Append("Values "); Consulta.Append("(@Cmp1,@Cmp2);"); MySqlCommand cmd = new MySqlCommand(Consulta.ToString(), Conexion); cmd.Parameters.AddWithValue("@Cmp1", "Valor"); cmd.Parameters.AddWithValue("@Cmp2", "Valor"); Conexion.Open(); cmd.ExecuteNonQuery(); Conexion.Close(); } catch (Exception ex) { // Proceso el error; } }
Nota: Los ejemplos hay que adecuarlos a la situación que requiera.