【问题标题】:DataGridView not showing my columnsDataGridView 不显示我的列
【发布时间】:2017-03-09 00:31:28
【问题描述】:

我在 C# 中有一个 MySQL 连接,它应该将表数据放入 DataGridView,但它有一个问题,它在我的数据库中为我的用户表中的每个帐户创建行,但它没有显示实际数据。有人可以帮忙吗?

我的代码:

public Form1()
{
    InitializeComponent();

    string connectionString = "Server=mysql.dunkycart.com; Database=dunkycart; Uid=dunkycart; Pwd=rooB-dnK-sqL;"; //Set your MySQL connection string here.
    string query = "SELECT name, username, email FROM users"; // set query to fetch data "Select * from  tabelname"; 
    using (MySqlConnection conn = new MySqlConnection(connectionString))
    {
        using (MySqlDataAdapter adapter = new MySqlDataAdapter(query, conn))
        {
            DataSet ds = new DataSet();
            adapter.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];
        }
    }
}

问题:

【问题讨论】:

标签: c# mysql winforms datagridview


【解决方案1】:

没关系,我刚刚找到了解决办法。我要做的就是将 DataGridView 中每一列的 DataPropertyName 设置为 db 表中的相应列。

【讨论】:

    【解决方案2】:

    因为你使用的是DataSet 而不是DataTable 所以你需要改变这个:

    adapter.Fill(ds);
    

    到这里:

    adapter.Fill(ds,"tbl");
    

    或者您可以使用DataTable 代替DataSet

    DataTable dt = new DataTable();
    adapter.Fill(dt);
    

    【讨论】:

    • 它现在显示,但它显示了一个不在我的表中的额外空白行。知道如何解决这个问题吗?
    • @Wiooo 是的。在DataGridView 的属性中将AllowUserToAddRows 设置为False
    猜你喜欢
    • 2013-08-15
    • 2012-03-08
    • 1970-01-01
    • 1970-01-01
    • 2019-12-16
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    • 1970-01-01
    相关资源
    最近更新 更多