防止在SQL中出现重复结果

时间:2012-07-25 12:49:45

标签: c# sql list combobox

我的应用程序中有一个组合框(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());
}
}

简而言之,我的问题是如何防止重复数据被列出?

3 个答案:

答案 0 :(得分:8)

使用DISTINCT。它将消除重复的记录。

将您的查询更改为

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

假设您可能已在名称列中存储字符串值NULL 以获取某些记录。

如果您在名称字段中有真正的空白,那么您的查询应该是这样的

SELECT DISTINCT name FROM list WHERE name is not NULL

答案 1 :(得分:2)

使用DISTINCT

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

答案 2 :(得分:0)

将一个分组添加到SELECT语句。

SELECT name FROM list WHERE name <> 'NULL' GROUP BY name