仅使用1种数据填充组合框

时间:2015-03-09 09:31:53

标签: c# ms-access

假设我有数据库项目:

您好
你好
你好

我只想显示一个“Hello”

这是我的代码......

        OleDbCommand cmd = new OleDbCommand("Select *from login", con);
        dr = cmd.ExecuteReader();
        while (dr.Read())
        {
            combo1.Items.Add(dr["dtlogin"].ToString());

        }

4 个答案:

答案 0 :(得分:1)

var value = dr["dtlogin"].ToString(); 

if (!combo1.Items.Contains(value))
{
    combo1.Items.Add(value);
}

答案 1 :(得分:0)

您可以使用ExecuteScalar获取第一行的第一列。其他行将被忽略。

我认为他们是字符串,你可以做;

using(OleDbCommand cmd = new OleDbCommand("Select dtlogin from login", con);)
{
   string s = (string)cmd.ExecuteScalar();
   combo1.Items.Add(s);
}

还可以使用using statement来处置您的OleDbCommandcon

答案 2 :(得分:0)

使用Contains

添加之前检查项目
     if(!combo1.Items.Contains(dr["dtlogin"].ToString()))
     {
            combo1.Items.Add(dr["dtlogin"].ToString());
     }

答案 3 :(得分:0)

如果你正在寻找与你的组合框绑定的不同价值,那么就使用它。

 OleDbCommand cmd = new OleDbCommand("Select distinct * from login", con);
    dr = cmd.ExecuteReader();
    while (dr.Read())
    {
        combo1.Items.Add(dr["dtlogin"].ToString());

    }