C# 在DataGridView c中复制项

C# 在DataGridView c中复制项,c#,mysql,C#,Mysql,我有这样一段代码,我把数据放到DataTable中,在DataGridView中显示所有内容。 但当我看的时候,它包含的信息应该在文件中,但它重复了两次 从mysql数据库检索数据的代码: MySqlDataAdapter mySqlDataAdapter; DataSet DS0 = new DataSet(); DataTable DT0; string gender; private void Filter() { ViewG.DataSo

我有这样一段代码,我把数据放到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表中检索所有信息,并显示在DataGridView上。它工作得很好,但当我尝试使用过滤器检索时,例如,问题就出现了

对于完整数据,我使用:

mySqlDataAdapter.Fill(DS0.Tables["Full"]);
ViewG.DataSource = DS0.Tables["Full"];
对于过滤数据:

mySqlDataAdapter.Fill(DS0.Tables["1Filter"]);
ViewG.DataSource = DS0.Tables["1Filter"];
如果在应用程序启动时运行用于筛选的查询,它不会复制并正确显示

编辑:已解决


从这里发布的代码来看,性别字符串没有赋值。因此,您的查询可能会应用您想要的任何筛选器。

感谢您的努力,我找到了问题所在。我在MySql上使用了临时表,由于某种原因,服务器并没有在连接关闭后删除这个表。因此,在新的查询中,它在同一个表中添加了相同的项

您是否检查了表本身是否有重复项?我检查了它没有任何重复项。它是临时表,有重复项…它已分配,问题不同