【问题标题】:how to display data from multiple tables to dataGridView如何将多个表中的数据显示到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"; 行就没用了。

标签: c# mysql datagridview


【解决方案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;
}

【讨论】:

    猜你喜欢
    • 2015-04-25
    • 2023-03-10
    • 2018-01-24
    • 2011-12-12
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    相关资源
    最近更新 更多