繁体   English   中英

在DataGridView c#中复制项目

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM