我已经开始学习在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());
答案 0 :(得分:0)
我刚刚开始新项目并复制了代码。按预期工作。