我有组合框项目来显示抽奖日期。项目是从mysql数据导入的。我使用这段代码来获取它们:
DataTable dateDraw = new DataTable("dateDraw");
using (MySqlConnection sqlConn = new MySqlConnection(@"datasource=localhost;port=3306;username=root;password=toor"))
{
using (MySqlDataAdapter da = new MySqlDataAdapter("SELECT date FROM sqldata.datedraw WHERE active='Yes'", sqlConn))
{
da.Fill(dateDraw);
}
}
foreach (DataRow da in dateDraw.Rows)
{
comboBox1.Items.Add(da[0].ToString());
}
我需要每秒刷新一次。所以我创建了计时器并将代码放入计时器。将timer.enable设置为true,将interval设置为1000.刷新部分工作正常。但是我在每个mysql查询中都会得到多个具有相同结果的项目。
如果mysql第一个查询是例如:
12.9.2013
19.9.2013
16.9.2013
第二个查询重复它:
12.9.2013
19.9.2013
16.9.2013
12.9.2013
19.9.2013
16.9.2013
和第三个查询:
12.9.2013
19.9.2013
16.9.2013
12.9.2013
19.9.2013
16.9.2013
12.9.2013
19.9.2013
16.9.2013
等等。
如何删除重复的结果?
谢谢。
我正在寻找我会理解的解决方案,因为我是一个菜鸟。谢谢!
答案 0 :(得分:2)
添加
comboBox1.Items.Clear();
前
foreach (DataRow da in dateDraw.Rows)
{
comboBox1.Items.Add(da[0].ToString());
}
答案 1 :(得分:2)
你可以在添加项目之前清除comboBox,我错过了什么吗?
comboBox1.Items.Clear();
答案 2 :(得分:0)
您可以使用
,而不是逐行添加它们comboBox1.ItemsSource = dateDraw.Rows
您可以单独设置这些行中的哪些字段应该用于显示,并分别设置为(键)值设置combobox1.DisplayMember
和combobox1.Datamember
除此之外,作为一个用户,如果我从组合框中选择一些东西,并且组合框变空并重新填充,我可能会对程序员产生同性恋意图,可能会让我的选择消失 - 如果我设法做出选择所有!