如果组合框中存在名称则不添加

时间:2013-10-14 12:33:52

标签: wpf

在sql表中将名称添加到WPF中的组合框时,我想检查组合框中是否已存在该名称。如果它不添加。我试过的代码不起作用:

        public void display()
    {      
       try
        {             
            sc.Open();
            string Query = "select *from Part";
            SqlCommand createCommand = new SqlCommand(Query, sc);
            SqlDataReader dr = createCommand.ExecuteReader();
            while (dr.Read())
            {
                String Name = dr.GetString(1);



                if (cbPartners.Items.Contains(Name) != null)
                {
                    cbPartners.Items.Add(Name);
                }

                else
                {
                   MessageBox.Show("message");
                }
                }

            sc.Close();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

3 个答案:

答案 0 :(得分:3)

cbPartners.Items.Contains(Name)返回true或false,将它与null进行比较总是会得到相同的结果。将条件更改为:

if (!cbPartners.Items.Contains(Name))

答案 1 :(得分:2)

问题在于:

if (cbPartners.Items.Contains(Name) != null)

方法Contains返回Bool值,并将其与null进行比较,该值始终为true。

将其更改为:

if (!cbPartners.Items.Contains(Name))

答案 2 :(得分:2)

问题是你应该写:

if (!cbPartners.Items.Contains(Name))

我想我是第一个;)