Cómo conectarse a MySQL usando Microsoft .NET

C#MySQLSQLVisual Basic

Antes de ponerte a ello, necesitas necesitas tener instalado Microsoft Visual Studio y MySQL en tu sistema, y seguidamente agregar soporte MySQL a Visual Studio, cosa que veremos a continuación.

Crea una base de datos MySQL

Si aún no has creado una base de datos, puedes hacerlo mediante la línea de comandos de MySQL. Para hacerlo, sigue estos pasos:

Primero debes conectarte a MySQL desde la línea de comandos. Puedes hacerlo con este comando, reemplazando USUARIO por tu nombre de usuario en MySQL:

mysql -u USUARIO -p

Ya conectado a MySQL, crea una tabla que a modo de ejemplo llamaremos empleados:

CREATE DATABASE empleados;

Ahora selecciona la base de datos:

USE empleados;

Ya podemos ejecutar consultas sobre la base de datos de empleados. Crea una table:

CREATE TABLE IF NOT EXISTS tabla_empleados (
  id int(11) NOT NULL AUTO_INCREMENT,
  nombre varchar(60),
  PRIMARY KEY (id)
);

Inserta algunos datos de ejemplo en la tabla de empleados:

INSERT INTO tabla_empleados (nombre) VALUES ("David");
INSERT INTO tabla_empleados (nombre) VALUES ("Jaime");

Agrega soporte MySQL a Visual Studio

Microsoft Visual Studio no incorpora soporte MySQL por defecto, por lo que necesitamos agregarlo. En caso de que no los tengas, necesitas instalar estos dos componentes:

  1. MySQL for Visual Studio: Agrega soporte para MySQL a diversas herramientas de manejo de base de datos de Visual Studio. Puedes descargar MySQL for Visual Studio desde aquí.
  2. Connector/Net: Son una serie de controladores de MySQL para Visual Studio. Son obligatorios y puedes descargarlos desde aquí.

Cómo utilizar Server Explorer

Una vez hayas instalado los componentes necesarios de MySQL para Visual Studio, podrás utilizar las herramientas de bases de datos -visual database tools- para ver y editar las bases de datos. Se trata de una herramienta similar a phpMyAdmin que te permitirá gestionar las bases de datos.

Cómo agregar una base de datos

Para agregar una base de datos a Server Explorer debes seguir estos pasos:

  1. Abre Visual Studio
  2. En el menú Ver haz clic en Explorador de servidores (Server Explorer).
  3. Haz clic en el icono de conexión a base de datos y verás que aparece una lista con diferentes tipos de bases de datos. Selecciona Base de Datos MySQL y haz clic en continuar. Si no has instalado los dos componentes ya mencionados, no podrás seleccionar este tipo de base de datos.
  4. En el nombre del servidor, escribe localhost si la base de datos está en tu servidor local. Escribe el nombre del servidor externo si se trata de un servidor remoto.
  5. Introduce el nombre de usuario con acceso a la base de datos a la que quieres acceder. Si has seguido este ejemplo, será el que has introducido en el primer apartado de esta guía. Introduce también la contraseña para dicho usuario y el nombre de la base de datos a la que te quieres conectar en el campo correspondiente.
  6. Si quieres, puedes marcar la opción para almacenar la contraseña, de modo que no se te pida cada vez que quieras conectarte a esta base de datos.
  7. Haz clic en probar conexión. Si todo ha ido bien, verás un mensaje de confirmación. Si no es el caso, revisa los datos que has introducido.
  8. Cuando hagas clic en Aceptar, Server Explorer agregará la base de datos a la lista de conexiones disponibles.

Cómo editar una base de datos

Para editar una base de datos en Server Explorer debes hacer doble clic en su nombre. Se mostrarán en pantalla los siguientes detalles:

  • Tablas
  • Vistas
  • Funciones guardadas
  • Procedimientos guardados
  • Funciones definidas por usuario (UDF)

Haz clic en estos elemento para verlos en detalle. Si quieres ver los datos almacenados en una table, haz doble clic en Tablas y selecciona la tabla que quieres ver. Luego haz clic en obtener datos.

Cómo conectarte a MySQL desde .NET

Una vez has instalado el conector y los componentes MySQL de .NET, podrás realizar la conexión. Lo primero que debes hacer es agregar una referencia a la librería MySQL .NET en el proyecto y, seguidamente, introducir los parámetros de conexión a la base de datos.

Vamos a ver cómo te puedes conectar a MySQL tanto si usas Visual C# como si usas Visual Basic.

Cómo conectarte a MySQL usando Visual C#

  1. Inicia Visual Studio
  2. Vete a Archivo > Nuevo y haz clic en Proyecto para iniciar un nuevo proyecto.
  3. Selecciona Visual C# para utilizar C#. En la lista de plantillas de la derecha selecciona Aplicación de consola y, en el lugar reservado para el nombre escribe el nombre que prefieras, que en este ejemplo será Prueba_csharp.
  4. Haz clic en Aceptar y Visual Studio creará el proyecto.
  5. Una vez veas la ventana con el código, bórralo y copia y pega el siguiente código. modificando la variable datos_conexion para que se ajuste a los datos de acceso de tu base de datos. En caso de no seguir el ejemplo de esta guía, reemplaza también el nombre de la tabla tabla_empleados.
    using System;
    using System.Data;
    using MySql.Data.MySqlClient;
    
    namespace MySQL_test
    {
        class Program
        {
            static void Main(string[] args)
            {
                string datos_conexion = @"server=example.com;userid=USUARIO;password=PASS;database=empleados";
    
                MySqlConnection conexion = null;
                
                try
                {
                    conexion = new MySqlConnection(datos_conexion);
                    conexion.Open();
    
                    string query = "SELECT * FROM tabla_empleados;";
                    MySqlDataAdapter da = new MySqlDataAdapter(query, conexion);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "tabla_empleados");
                    DataTable dt = ds.Tables["tabla_empleados"];
    
                    foreach (DataRow row in dt.Rows)
                    {
                        foreach (DataColumn col in dt.Columns)
                        {
                            Console.Write(row[col] + "\t");
                        }
    
                        Console.Write("\n");                  
                    }           
                }
                catch (Exception e)
                {
                    Console.WriteLine("Error: {0}", e.ToString());
                }
                finally
                {
                    if (conexion != null)
                    {
                        conexion.Close();
                    }
                }
            }
        }
    }
  6. En el menú de Proyecto haz clic en añadir una referencia. Verás la ventana de gestión de referencias. Aquí, haz clic en Extensiones en la sección de Ensamblados de la izquierda. Haz scroll por la lista y haz doble clic en MySQL.Data. Finalmente acepta.
  7. En el menú principal de Visual Studio selecciona Compilar, haz clic en Compilar solución. Visual Studio compilará la aplicación.
  8. En el menú superior haz clic en Depurar e inicia la aplicación sin depuración. la aplicación ejecutará y mostrará los datos de la tabla seleccionada.

Cómo conectarte a MySQL usando Visual Basic

  1. Inicia Visual Studio
  2. Vete a Archivo > Nuevo y haz clic en Proyecto para crear un nuevo proyecto.
  3. Selecciona Visual Basic. para utilizar VB.NET. En la lista de plantillas que verás a la derecha selecciona Aplicación de consola. Luego dale al proyecto el nombre que más te guste que en este ejemplo será Prueba_vb.
  4. Haz clic en Aceptar y se creará el proyecto.
  5. Una vez veas la ventana con algo de código predefinido, bórralo y luego pega el siguiente fragmento de código. modificando la variable datos_conexion con los datos de acceso a tu base de datos. En caso de no seguir el ejemplo de esta guía, reemplaza también el nombre de la tabla tabla_empleados.
    Imports System
    Imports System.Data
    Imports MySql.Data.MySqlClient
    
    Module Module1
    
        Sub Main()
            Dim datos_conexion As String = "server=example.com;userid=USUARIO;password=PASS;database=empleados"
    
            Dim conexion As MySqlConnection = Nothing
    
            Try
                conexion = New MySqlConnection(datos_conexion)
                conexion.Open()
    
                Dim query As String = "SELECT * FROM tabla_empleados;"
                Dim da As New MySqlDataAdapter(query, conexion)
                Dim ds As New DataSet()
                da.Fill(ds, "tabla_empleados")
                Dim dt As DataTable = ds.Tables("tabla_empleados")
    
                For Each row As DataRow In dt.Rows
                    For Each col As DataColumn In dt.Columns
                        Console.Write(row(col).ToString() + vbTab)
                    Next
    
                    Console.Write(vbNewLine)
                Next
    
            Catch e As Exception
                Console.WriteLine("Error: {0}", e.ToString())
            Finally
                If conexion IsNot Nothing Then
                    conexion.Close()
                End If
            End Try
        End Sub
    
    End Module
  6. En el menú de Proyecto haz clic en añadir una referencia. Luego haz clic en Extensiones en la sección de la izquierda. Haz scroll por la lista que aparecerá, haz doble clic en MySQL.Data y luego en Aceptar.
  7. En el menú superior selecciona Compilar y seguidamente haz clic en Compilar solución para que Visual Studio compile la aplicación.
  8. De nuevo, en el menú superior, debes ir a Depurar y finalmente inicia la aplicación sin depuración para que se ejecute y muestre los datos de la tabla seleccionada.

Más información de Visual Studio

Si quieres más información puedes consultar la documentación oficial de Visual Studio.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”