如何将多个表中的数据显示到dataGridView

Posted

技术标签:

【中文标题】如何将多个表中的数据显示到dataGridView【英文标题】:how to display data from multiple tables to dataGridView 【发布时间】:2014-03-06 00:32:39 【问题描述】:

我想在一个 dataGridView 中显示电话簿和电子邮件数据。问题是它只会显示电子邮件表

mysqlConnection connection = new MySqlConnection(MyConnectionString);
connection.Open();
try

    MySqlCommand cmd = connection.CreateCommand();
    cmd.CommandText = "SELECT * FROM phonebook";
    cmd.CommandText = "SELECT * FROM email";
    MySqlDataAdapter adap = new MySqlDataAdapter(cmd);
    DataSet ds = new DataSet();
    adap.Fill(ds);
    dataGridView1.DataSource = ds.Tables[0].DefaultView;

catch(Exception ex)

    MessageBox.Show(ex.Message);

finally

    if (connection.State == ConnectionState.Open)
    
        connection.Clone();
    

【问题讨论】:

你试过JOIN你的桌子吗?因为那样的话,你的cmd.CommandText = "SELECT * FROM phonebook"; 行就没用了。 【参考方案1】:

您需要连接两个表并获取如下结果

using(MySqlConnection connection = new MySqlConnection(MyConnectionString))
using(MySqlCommand cmd = connection.CreateCommand())

    connection.Open();
    cmd.CommandText = "SELECT pb.Id, pb.Name, pb.MobileNo, e.email FROM phonebook pb INNER JOIN email e ON e.Id= pb.Id";
    MySqlDataAdapter adap = new MySqlDataAdapter(cmd);
    DataSet ds = new DataSet();
    adap.Fill(ds);
    dataGridView1.DataSource = ds.Tables[0].DefaultView;

【讨论】:

以上是关于如何将多个表中的数据显示到dataGridView的主要内容,如果未能解决你的问题,请参考以下文章

DataGridView不显示MySQL表中的数据

C#中怎样将dataGridView中的新添加的一行数据添加到数据库中

c# 中如何把实体类绑定到dataGridView并显示出来。

在C#中,如何把DataGridview中的数据导出到一个Excel表中

如何使用DataGridView从数据库表中插入,更新和删除数据?

UWP 应用程序 - 将 SQL 表中的数据显示到数据网格或列表框