C# DataGridView未显示MySQL表中的数据
我已经开始学习在C#中使用MySQL,我一直在将表中的数据加载到DataGridView中,无论我在启动程序时做什么都是空白的 我看了很多关于这个问题的帖子和youtube视频,尝试了不同的方法,但都没有奏效。我尝试将dataGridView1.AutoGenerateColumns=true设置为空,并尝试使用designer添加列,并将其dataPropertyName更改为表列的名称,结果只显示了我添加的6列中的2列。在将其数据源连接到表之后,当我尝试检查bs计数时,它显示9行(这是我在MySQL表中的行数),datagridview.RowCount显示10行 这是设计师设计的桌子造型 这就是我启动后桌子的样子 这是MySQL表 编辑: prntscr.com/mmqvhw我不确定这是否是什么,但当我查看绑定源bs中的行的结果时,我发现ItemArray是索引6,而行应该有5。DVG是否显示第六个索引为空,这就是为什么它显示黑色DVG 编辑2: 添加这行愚蠢的代码MessageBox.Show(Convert.ToInt32(bs[0]).ToString())试图显示bs的数据后,我得到InvalidCastException,并且在该表完全显示之后 我不知道我现在在做什么,我尝试了一切,希望能得到任何帮助 这是填充datagridview的部分代码:C# DataGridView未显示MySQL表中的数据,c#,mysql,datagridview,C#,Mysql,Datagridview,我已经开始学习在C#中使用MySQL,我一直在将表中的数据加载到DataGridView中,无论我在启动程序时做什么都是空白的 我看了很多关于这个问题的帖子和youtube视频,尝试了不同的方法,但都没有奏效。我尝试将dataGridView1.AutoGenerateColumns=true设置为空,并尝试使用designer添加列,并将其dataPropertyName更改为表列的名称,结果只显示了我添加的6列中的2列。在将其数据源连接到表之后,当我尝试检查bs计数时,它显示9行(这是我在M
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());
我刚刚开始了一个新项目,并复制了代码。按预期工作。我刚开始新项目并复制了代码。按照预期工作。使用调试器遵循代码并检查每个步骤的结果。数据集是否已填充?数据表?msgBox输出是什么?msgBox输出绑定源bs是9,对于datagridview,行数是10。MySQL表有9行。您显示的DGV只有2列。您是否有多个DGV?(顺便说一句,第10行是AllowUserToAddress os为true时默认创建的输入行。)我只有1个DGV,在我添加这6列之后,它只显示2列,之前它是完全空白的,我这样做是因为我找到了一些解决方案,这些解决方案说使用designer生成列,并将它们的DataPropertyName更改为表列的名称。您可以通过以下两种方式来实现:让系统来实现,或者自己来实现;设置AutoGenerateColumns=true或false。如果为true,则会清除所有旧列在最后一个msgBox上放置一个断点,并深入dataGridView1!查看它的列和行以及它的数据源!使用调试器遵循代码并检查每个步骤的结果。数据集是否已填充?数据表?msgBox输出是什么?msgBox输出绑定源bs是9,对于datagridview,行数是10。MySQL表有9行。您显示的DGV只有2列。您是否有多个DGV?(顺便说一句,第10行是AllowUserToAddress os为true时默认创建的输入行。)我只有1个DGV,在我添加这6列之后,它只显示2列,之前它是完全空白的,我这样做是因为我找到了一些解决方案,这些解决方案说使用designer生成列,并将它们的DataPropertyName更改为表列的名称。您可以通过以下两种方式来实现:让系统来实现,或者自己来实现;设置AutoGenerateColumns=true或false。如果为true,则会清除所有旧列在最后一个msgBox上放置一个断点,并深入dataGridView1!查看它的列和行以及它的数据源!