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.