Use OdbcCommand to read data in Access database and fill the DataGrid : Access « Database ADO.net « C# / C Sharp






Use OdbcCommand to read data in Access database and fill the DataGrid

 

using System;
using System.Diagnostics;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.Odbc;


public class Form1 : System.Windows.Forms.Form {
    private System.Windows.Forms.Button button1;
    private System.Windows.Forms.DataGrid dataGrid1;
    private System.Windows.Forms.Button button2;
    public Form1() {
        this.button1 = new System.Windows.Forms.Button();
        this.dataGrid1 = new System.Windows.Forms.DataGrid();
        this.button2 = new System.Windows.Forms.Button();
        ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
        this.SuspendLayout();

        this.button1.Location = new System.Drawing.Point(8, 240);
        this.button1.Size = new System.Drawing.Size(104, 32);
        this.button1.Text = "Get Data From Biblio";
        this.button1.Click += new System.EventHandler(this.button1_Click);

        this.dataGrid1.DataMember = "";
        this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
        this.dataGrid1.Location = new System.Drawing.Point(8, 8);
        this.dataGrid1.Size = new System.Drawing.Size(280, 224);

        this.button2.Location = new System.Drawing.Point(120, 240);
        this.button2.Size = new System.Drawing.Size(152, 32);
        this.button2.Text = "Get Data From Access Northwind";
        this.button2.Click += new System.EventHandler(this.button2_Click);

        this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
        this.ClientSize = new System.Drawing.Size(292, 273);
        this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                          this.button2,
                                                                          this.dataGrid1,
                                                                          this.button1});
        ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
        this.ResumeLayout(false);

    }
    [STAThread]
    static void Main() {
        Application.Run(new Form1());
    }

    private OdbcConnection cn;

    private void button1_Click(object sender, System.EventArgs e) {
        try {
            cn = new OdbcConnection("DRIVER={SQL Server};SERVER=.;uid=admin;pwd=pw;database=biblio");
            cn.Open();
            OdbcCommand sc = new OdbcCommand("SELECT title, price FROM titles WHERE title LIKE 'Hi%'", cn);
            OdbcDataAdapter da = new OdbcDataAdapter(sc);
            DataSet ds = new DataSet("TitlesDS");
            da.Fill(ds);
            dataGrid1.DataSource = ds.Tables[0];
        } catch (Exception ex) {
            Debug.WriteLine(ex.ToString());
        } finally {
            cn.Close();
        }
    }

    private void button2_Click(object sender, System.EventArgs e) {
        try {
            cn = new OdbcConnection(@"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\NorthWind.mdb");
            cn.Open();
            OdbcCommand sc = new OdbcCommand("SELECT * from Employees", cn);
            OdbcDataAdapter da = new OdbcDataAdapter(sc);
            DataSet ds = new DataSet("TitlesDS");
            da.Fill(ds);
            dataGrid1.DataSource = ds.Tables[0];
        } catch (Exception ex) {
            MessageBox.Show("You probably need to change the file path to NorthWind.MDB used in the OdbcConnection Constructor\n or move a copy of the NorthWind.mdb to c:\\");
            Debug.WriteLine(ex.ToString());
        } finally {
            cn.Close();
        }
    }
}

 








Related examples in the same category

1.Connects to a Microsoft Access databaseConnects to a Microsoft Access database
2.Reading Access Data
3.How to use an OleDbConnection object to connect to an Access database
4.Read query result data from Access database
5.Connect to an Access database file