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.
Deja una respuesta