0

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);
        }
    }
4

3 に答える 3

3

cbPartners.Items.Contains(Name)true または false を返します。null と比較すると、常に同じ結果が得られます。条件を次のように変更します。

if (!cbPartners.Items.Contains(Name))
于 2013-10-14T12:38:07.627 に答える
2

問題は次のとおりです。

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

メソッド Contains は Bool 値を返し、それを常に true である null と比較しています。

次のように変更します。

if (!cbPartners.Items.Contains(Name))
于 2013-10-14T12:40:23.927 に答える
2

問題は、次のように書く必要があることです。

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

私が初めてだったと思います(;_;)

于 2013-10-14T12:46:24.210 に答える