首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复制DataGridView c#中的项目

复制DataGridView c#中的项目
EN

Stack Overflow用户
提问于 2014-03-07 11:16:22
回答 2查看 72关注 0票数 0

我有这样的代码,我将数据放在DataTable中,在DataGridView上显示所有内容。但当我看时,它包含的信息应该在文件中,但它重复了两次。

从mysql数据库检索数据的代码:

代码语言:javascript
复制
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上。它工作得很好,但是当我尝试使用过滤器只检索“女性”时,就会出现问题。

对于完整的数据,我使用:

代码语言:javascript
复制
mySqlDataAdapter.Fill(DS0.Tables["Full"]);
ViewG.DataSource = DS0.Tables["Full"];

对于过滤后的数据:

代码语言:javascript
复制
mySqlDataAdapter.Fill(DS0.Tables["1Filter"]);
ViewG.DataSource = DS0.Tables["1Filter"];

如果在应用程序启动时运行用于筛选的查询,则它不会正确复制和显示。

编辑:解决

EN

回答 2

Stack Overflow用户

发布于 2014-03-07 11:36:13

从此处张贴的代码来看,性别字符串没有被分配任何值。因此,您的查询正在应用您想要的任何筛选器。

票数 0
EN

Stack Overflow用户

发布于 2014-03-07 11:57:44

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22248613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档