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:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
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.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
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.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
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.
Deja una respuesta