Dentro del proyecto se crea una nueva clase. En este caso la clase se llamará
ConexionAccess2007 y se le asignan los siguientes using:
- Código:
-
using System.Data.OleDb;
using System.Data;
Después de esto tendremos que crear todos los métodos que vamos a requerir para la conexión a la base de datos asi como los siguientes elementos:
- Código:
-
static string CadenaConexion;
static OleDbConnection Conex;
static OleDbDataAdapter Adaptador;
static OleDbCommandBuilder Constructor;
static DataTable Tabla;
static BindingSource Fuente;
Creamos el método para conectarnos a la base de datos:
- Código:
-
public static void Conectar()
{
CadenaConexion = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\DarkVenom\Documents\Compumax.accdb;Persist Security Info=False";
Conex = new OleDbConnection(CadenaConexion);
Conex.Open();
}
Donde Source es la ruta donde se encuentra la base de datos de Access.
Ahora un método para desconectarse de la base de datos:
- Código:
-
public static void Desconectar()
{
Conex.Close();
}
Y por último un método para realizar una consulta a una tabla de esa base de datos:
- Código:
-
public static void Consultar(string tabla,string campos,string orden)
{
string Consulta = "select " + campos + " from " + tabla + " order by " + orden + ";";
Adaptador = new OleDbDataAdapter(Consulta, Conex);
Constructor = new OleDbCommandBuilder(Adaptador);
Tabla = new DataTable(tabla);
Adaptador.Fill(Tabla);
Fuente = new BindingSource();
Fuente.DataSource = Tabla;
}
Este método lo que hace es recibir como parámetros la tabla a la cual se desea hacer la consulta, los campos que se requieren y el orden en el que se desean mostrar los datos. Con estos parámetros se crea la consulta, la cual es pasada al adaptador que recibe como parámetros una consulta y la conexión con la que se quiere trabajar.
Lo siguiente es crear la propiedad Source para poder guardar los datos de la consulta y usarlos en el Form1.
- Código:
-
public static BindingSource Source
{
get
{
return Fuente;
}
}
En el Form1 simplemente se agrega un DataGridView para cargar los datos de la consulta en él, y en el evento Load del Form1 se manda a llamar a los métodos de la clase ConexionAccess2007:
- Código:
-
private void FrmConexionAccess2007_Load(object sender, EventArgs e)
{
Conexion.Conectar();
Conexion.Consultar("producto", "*", "id_producto");
dgvDatos.DataSource = Conexion.Source;
Conexion.Desconectar();
}
Les dejo el proyecto de ejemplo.
Cualquier duda comenten
