DataGridView没有显示来自MySQL表的数据

时间:2019-02-18 15:07:01

标签: c# mysql datagridview

我已经开始学习在C#中使用MySQL的工作原理,我一直坚持将表中的数据加载到DataGridView中,无论我在启动程序时如何将其空白。

我已经观看了有关此问题的多个主题和youtube视频,并尝试了不同的方法都无法正常工作。我尝试dataGridView1.AutoGenerateColumns = true,它仍然为空,并尝试使用设计器添加列并将其dataPropertyName更改为表列的名称,并且仅显示我添加的6列中的2列。当我尝试将其数据源连接到表后检查bs计数时,它显示9行(这就是我在MySQL表中的行数),而datagridview.RowCount显示10行。

http://prntscr.com/mmqeb9这是设计师的餐桌装饰

http://prntscr.com/mmqerp这是启动表后的样子

http://prntscr.com/mmqf1t这是MySQL表

编辑:

prntscr.com/mmqvhw我不确定这是否有问题,但是当我查看绑定源bs中行的结果时,我发现ItemArray的索引为6,行应为5。DVG是否显示第6位索引为空,这就是为什么它显示黑色DVG

编辑2: 在添加了这条愚蠢的代码MessageBox.Show(Convert.ToInt32(bs [0])。ToString())试图显示bs的数据后,我得到了InvalidCastException,并在该表完全显示之后http://prntscr.com/mmrfw7

我现在不知道我在做什么,我会尽一切可能帮助您

这是应该填充datagridview的代码的一部分:

            MySqlDataAdapter adapter = new MySqlDataAdapter();

            MySqlCommand cmd;

            DataSet ds = new DataSet();

            BindingSource bs = new BindingSource();

            string strcmd = "SELECT * FROM lek;";

            cmd = new MySqlCommand(strcmd, connection);

            connection.Open();

            //adapter
            adapter.SelectCommand = cmd;

            adapter.Fill(ds);          

            bs.DataSource = ds.Tables[0];

             //datagridview

            dataGridView1.AutoGenerateColumns = true;

            MessageBox.Show(bs.Count.ToString());

            dataGridView1.DataSource = bs;

            MessageBox.Show(dataGridView1.RowCount.ToString());

1 个答案:

答案 0 :(得分:0)

我刚刚开始新项目并复制了代码。按预期工作。