在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);
}
}
答案 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))
我想我是第一个;)