0

comboBox1アプリケーションに、SQL データベースのカテゴリを一覧表示するコンボ ボックス ( ) があります。現時点では、データを正しくプルしています。私の唯一の問題は、データがコンボ ボックスにリストされると、結果が重複することです。例えば:

リストしたいもの:

Example 1
Example 2
Example 3

実際にリストされているもの:

Example 1
Example 1
Example 1
Example 1
Example 1
Example 2
Example 2
Example 2
Example 3
Example 3
Example 3

データをリストするために使用しているコードは次のとおりです。

public void ListCat()
{
DataTable linkcat = new DataTable("linkcat");
using (SqlConnection sqlConn = new SqlConnection(@"Connection stuff;"))
{
using (SqlDataAdapter da = new SqlDataAdapter("SELECT name FROM list WHERE name <> 'NULL'", sqlConn))
{
da.Fill(linkcat);
}
}
foreach (DataRow da in linkcat.Rows)
{
comboBox1.Items.Add(da[0].ToString());
}
}

要するに、私の質問は、重複データがリストされないようにするにはどうすればよいですか?

4

3 に答える 3

8

を使用しDISTINCTます。これにより、重複レコードが削除されます。

クエリを次のように変更します

SELECT DISTINCT name FROM list WHERE name <> 'NULL'

一部のレコードの名前列内に文字列値NULLを保存した可能性があると仮定します。

name フィールドに実際の NULLがある場合、クエリは次のようになります。

SELECT DISTINCT name FROM list WHERE name is not NULL
于 2012-07-25T12:51:01.563 に答える
2

使用するDISTINCT

SELECT DISTINCT name FROM list WHERE name <> 'NULL'
于 2012-07-25T12:52:11.383 に答える
0

group by を SELECT ステートメントに追加します。

SELECT name FROM list WHERE name <> 'NULL' GROUP BY name
于 2012-07-25T12:50:58.263 に答える