りおんクロニクル


【C#入門】複数のデータベースをDataGridViewで扱う方法

Home【2026年版】C# / .NET入門と実践ガイド|基礎・業務アプリ開発・SQLite連携まで体系的に解説

【C#入門】複数のデータベースをDataGridViewで扱う方法

開発において複数のデータベースを扱う場面は少なくありません。特に、異なるデータソースを統合する場合は**DataGridView** を使うことで便利に表示できます。本記事では、複数のデータベースを切り替えたり統合したりする方法を解説します。

1. 複数の接続文字列を管理する

まず、`app.config` に接続情報をまとめて管理し、プログラム内で適切に利用します。

    
<connectionStrings>
<add name="DB1" connectionString="Server=myServer;Database=DB1;User Id=myUser;Password=myPass;" providerName="System.Data.SqlClient"/>
<add name="DB2" connectionString="Server=myServer;Database=DB2;User Id=myUser;Password=myPass;" providerName="System.Data.SqlClient"/>
</connectionStrings>
    

2. DataGridViewにデータを統合表示する

異なるデータベースのデータをまとめて表示するには、`DataTable` を活用します。

    
using (SqlConnection conn1 = new SqlConnection(connStr1))
using (SqlConnection conn2 = new SqlConnection(connStr2))
{
conn1.Open();
conn2.Open();

DataTable dt = new DataTable();

using (SqlDataAdapter da1 = new SqlDataAdapter("SELECT ID, Name FROM Users", conn1))
using (SqlDataAdapter da2 = new SqlDataAdapter("SELECT ID, Name FROM Employees", conn2))
{
    da1.Fill(dt);
    da2.Fill(dt);
}

dgv.DataSource = dt;
}
    

3. データベースを切り替えて表示する

ユーザーの選択に応じてデータベースを切り替えるには、ボタンを活用できます。

    
private void LoadDatabase(string dbName)
{
string connStr = ConfigurationManager.ConnectionStrings[dbName].ConnectionString;

using (SqlConnection conn = new SqlConnection(connStr))
{
    conn.Open();
    DataTable dt = new DataTable();

    using (SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM DataTable", conn))
    {
        da.Fill(dt);
    }

    dgv.DataSource = dt;
}
}

private void btnDB1_Click(object sender, EventArgs e)
{
LoadDatabase("DB1");
}

private void btnDB2_Click(object sender, EventArgs e)
{
LoadDatabase("DB2");
}
    

4. まとめ

複数のデータベースを扱う際は、**接続文字列の管理** と **DataTableの統合** がポイントになります。DataGridViewを活用すると、データの整理や検索が容易になります。

前のページ  次のページ