![](/img/trans.png)
[英]WinForm C#: Datagridview combobox it is duplicating records from second line
[英]Duplicating items in DataGridView c#
我有这段代码,将数据放在DataTable
从那里显示了DataGridView
所有内容。 但是,当我查看时,它包含应该存储在文件中的信息,但重复了两次。
从mysql数据库检索数据的代码:
MySqlDataAdapter mySqlDataAdapter;
DataSet DS0 = new DataSet();
DataTable DT0;
string gender;
private void Filter()
{
ViewG.DataSource = null;
ViewG.Rows.Clear();
command.CommandText = "SELECT * FROM `table2` WHERE s1q2 = @gender";
command.Parameters.Add("@gender", MySqlDbType.VarChar);
command.Parameters["@gender"].Value = gender;
DT0 = DS0.Tables.Add("1Filter");
mySqlDataAdapter = new MySqlDataAdapter(command.CommandText, connection);
connection.Open();
mySqlDataAdapter.SelectCommand = command;
mySqlDataAdapter.Fill(DS0.Tables["1Filter"]);
ViewG.DataSource = DS0.Tables["1Filter"];
connection.Close();
}
最初,它从数据库代码( SELECT * FROM table
)中检索所有信息,并显示在DataGridView
。 它工作正常,但是当我尝试使用过滤器仅检索例如“女性”问题时,就会出现。
对于完整数据,我使用:
mySqlDataAdapter.Fill(DS0.Tables["Full"]);
ViewG.DataSource = DS0.Tables["Full"];
对于过滤的数据:
mySqlDataAdapter.Fill(DS0.Tables["1Filter"]);
ViewG.DataSource = DS0.Tables["1Filter"];
如果我在应用程序启动时运行用于过滤器的查询,它不会重复并正确显示。
编辑:已解决
根据此处发布的代码,性别字符串未分配任何值。 因此,您的查询将应用所需的任何过滤器。
感谢您的努力,我找到了问题所在。 我在MySql上使用了临时表,由于某种原因,服务器在关闭连接后没有删除该表。 因此,在新查询中,它在同一张表上添加了相同的项目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.