Conectar una base de datos Access con C#

Hola a todos, hoy os voy a explicar como podemos conectar una base de datos access con C#.

Si tenemos una base de datos access y queremos usarlo en nuestra aplicación C#.

Lo primero, que necesitamos es descargar e instalar lo siguiente:

https://www.microsoft.com/es-es/download/details.aspx?id=13255

Crearemos una base de datos de clientes de ejemplos, esta es su estructura y datos:

La base de datos la dejaremos ubicada en bin/Debug, dentro del propio proyecto.

 

Para conectarnos a la base de datos, haremos lo siguiente:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.OleDb;
using System.Data;

namespace ejemplo_conexion_cs
{
    class Program
    {
        static void Main(string[] args)
        {
            OleDbConnection conexion = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|Database.accdb");

            Console.ReadLine();
        }
    }
}


Después de esto, habrá que abrir la conexión. Mi consejo es que la cerréis después de usar la conexión.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.OleDb;
using System.Data;

namespace ejemplo_conexion_cs
{
    class Program
    {
        static void Main(string[] args)
        {
            OleDbConnection conexion = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|Database.accdb");

            conexion.Open();

            conexion.Close();

            Console.ReadLine();
        }
    }
}


Ahora debemos hacer una consulta a la base de datos, lo ideal es almacenarlo en un DataSet.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.OleDb;
using System.Data;

namespace ejemplo_conexion_cs
{
    class Program
    {
        static void Main(string[] args)
        {
            OleDbConnection conexion = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|Database.accdb");

            conexion.Open();

            OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM Clientes", conexion);

            DataSet d = new DataSet();
            adapter.Fill(d);

            foreach(DataRow row in d.Tables[0].Rows)
            {
                Console.WriteLine("ID: " + row["Id"]);
                Console.WriteLine("Nombre: " + row["nombre"]);
                Console.WriteLine("Apellidos: " + row["apellidos"]);
                Console.WriteLine("Edad: " + row["edad"]);
                Console.WriteLine("");
            }

            conexion.Close();

            Console.ReadLine();
        }
    }
}


Este es el nuevo resultado:

Os dejo un vídeo donde lo veréis con mas detalle:

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *