VB/C#

【C#】AccessからDataGridViewにデータを表示する

本記事はこんな方におすすめです

  • Accessからデータを取得する方法が知りたい
  • DataGridViewの使い方が知りたい

Accessからデータを取得する

Accessからデータを取得する場合、以下のように取得することが可能です。

定義

テーブル名:M_ORDER

CONNECTION_STRING:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=" + 【DBパス】+ "; Uid=; Pwd =;

// データ取得
DataTable dt = new DataTable();
using (OdbcConnection con = new OdbcConnection(CONNECTION_STRING))
{

    StringBuilder sql = new StringBuilder();
    sql.Append("    SELECT  *");
    sql.Append("    FROM M_ORDER");
    
    con.Open();
    using (OdbcCommand cmd = new OdbcCommand(sql.ToString(), con))
    {
        using (OdbcDataAdapter adapter = new OdbcDataAdapter(cmd))
        {
            adapter.Fill(dt);
        }
    }
}

DataGridViewへの表示が前提としてある場合、ACCESSから取得したデータはDataTableに格納しておくとやり易いです。

DataGridViewでの表示

DataTableに必要データが格納されている場合、DataGridViewでの表示は簡単です。

DataGridView1.DataSource = dt;

完成形

以上から、Accessから取得したデータをDataGridViewに表示する一連のソースコードは以下の様になります。

// データ取得
DataTable dt = new DataTable();
using (OdbcConnection con = new OdbcConnection(CONNECTION_STRING))
{

    StringBuilder sql = new StringBuilder();
    sql.Append("    SELECT  *");
    sql.Append("    FROM M_ORDER");
    
    con.Open();
    using (OdbcCommand cmd = new OdbcCommand(sql.ToString(), con))
    {
        using (OdbcDataAdapter adapter = new OdbcDataAdapter(cmd))
        {
            adapter.Fill(dt);
        }
    }
}

DataGridView1.DataSource = dt;

DataGridViewに関する小機能

列幅の自動調整
DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
データ並び替え

//データ昇順
DataGridView1.Sort(dgv_OrderList.Columns[0], ListSortDirection.Ascending);

//データ降順
DataGridView1.Sort(dgv_OrderList.Columns[0], ListSortDirection.Descending);

まとめ

以上が簡単なAccessを利用したデータの取得・DataGridViewへの表示方法になります。

データベース連携はシステム開発をする上で基本になりますので、ぜひ定型として覚えておいてください。

  • この記事を書いた人

よしこた

1992年生まれの牡羊座。
大学卒業後は地元の中小企業に就職し、
1年後にIT部門を立ち上げ、ITコンサルティング事業を始める。
クラウドソーシングをしつつ、ビギナー目線で記事を執筆します。

服やアニメが好き。仕事も割と好き。

-VB/C#