13 marzo 2010

Conexión a una base de datos Access con C# mediante código


El ejemplo lo extraje de aquí, y como reza el título, conecta el programa a una base de datos Access del Office.

En este ejemplo, seutiliza la base de datos Neptuno que se instala Trader (opcionalmente) con Microsoft Access. El programa es una aplicación de consola que simplemente carga un conjunto de datos de la tabla Clientes de la base de datos. Luego, recorrer los registros, la impresión del campo CustomerName a la pantalla.

using System;
using System.Data;
using System.Data.OleDb;

namespace csbook.ch15 {

class Example15_2 {

static void Main(string[] args) {
string conString =
@"Provider=Microsoft.JET.OLEDB.4.0;"
+ @"data source=c:\data\Northwind.mdb";


// create an open the connection
OleDbConnection conn = new OleDbConnection(conString);
conn.Open();

// create the DataSet
DataSet ds = new DataSet();

// create the adapter and fill the DataSet
OleDbDataAdapter adapter =
new OleDbDataAdapter("Select * from Customers", conn);
adapter.Fill(ds);

// close the connection
conn.Close();

DataTable dt = ds.Tables[0];
foreach (DataRow dr in dt.Rows) {
Console.WriteLine(dr["CompanyName"].ToString());
}
}
}
}

Gracias a http://en.csharp-online.net/

2 comentarios:

  1. tengo un aplicativo en c# el cual tiene que mostrar los datos de una base de datos creada en access que tiene cuatro tablas distintas . ¿como programo el boton mostrar para que me muestre los datos de cada una? ya le hice el datagrip

    ResponderEliminar
  2. //muestra el datagrip al cargar el formulario
    private void Form6_Load(object sender, EventArgs e)
    {
    interface_inicial_equipo();
    OleDbConnection Conexion = new OleDbConnection();
    Conexion.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = C:\\invetario.accdb; Persist Security Info = false";
    Conexion.Open();
    OleDbDataAdapter adap = new OleDbDataAdapter("SELECT * FROM equipo", Conexion);
    DataSet ds = new DataSet();
    adap.Fill(ds);
    DataTable dt = new DataTable();
    dt = ds.Tables[0];
    datgrip_componentes.DataSource = dt;
    }
    //creo la clase para actualizar el datagrib con un boton
    private void act_datagrip()
    {
    OleDbConnection Conexion = new OleDbConnection();
    Conexion.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = C:\\invetario.accdb; Persist Security Info = false";
    Conexion.Open();
    OleDbDataAdapter adap = new OleDbDataAdapter("SELECT * FROM equipo", Conexion);
    DataSet ds = new DataSet();
    adap.Fill(ds);
    DataTable dt = new DataTable();
    dt = ds.Tables[0];
    datgrip_componentes.DataSource = dt;
    }
    //llamo al datagrip cuando se genere el evento(clic en el boton)
    private void but_actualizar_Click(object sender, EventArgs e)
    {
    act_datagrip();
    }


    johana tienes que crear una clase x datagirp, este ejemplo solo trabajo con un datagrip pero para que te funciones debes hacerlo a los cuatro. Luego. En el evento load del formulario que trabajas en cuestión llamas a los datagrip, y en el evento de clic del botón que uses para actualizar llamas a los cuatro. Estoy seguro que habrá varias formas de hacerlo, esta es la que yo utilizo y me vale.

    ResponderEliminar