我的应用程序中有一个组合框(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());
}
}
简而言之,我的问题是如何防止重复数据被列出?
答案 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