C# 如何使用C asp.net在dropdownlist框中显示不同于MySql的数据?

C# 如何使用C asp.net在dropdownlist框中显示不同于MySql的数据?,c#,mysql,asp.net,C#,Mysql,Asp.net,在这里,我试图从MySQL中包含重复值的表的列中加载dropdownlist框,因此需要获取未重复的值 这是我的代码: MySqlConnection cn = new MySqlConnection("Connection String"); MysqlCommand cmd; protected void Page_Load(object sender, EventArgs e) { cn.Open(); cmd = cn.createcommand(); cmd

在这里,我试图从MySQL中包含重复值的表的列中加载dropdownlist框,因此需要获取未重复的值

这是我的代码:

MySqlConnection cn = new MySqlConnection("Connection String"); 
MysqlCommand cmd;
protected void Page_Load(object sender, EventArgs e)
 {
    cn.Open();
    cmd = cn.createcommand();
    cmd.CommandText = "Select Columnname from tablename"; 
    using (var reader = cmd.ExecuteReader())
    {                
       while (reader.Read())
       {
           DropDownList.Items.Add(reader.GetString("Columnname"));    
       }
     }    
     cn.close();
  }

然后,代码片段可能会被多次调用,可能是在每次回帖中。只需先清除项目:

DropDownList.Items.Clear();

需要注意的一点是,启用ViewState后,无需在每次后续回发时重新加载下拉列表。这也意味着您可以决定只在以下情况下执行此代码!此.IsPostBack`.

请尝试编辑SQL查询以获得不同的结果

表1:

身份证名称

萨拉瓦南1号 2卡伦巴萨拉姆G 3萨拉瓦南

从表1中选择不同的名称

输出: 名称 萨拉瓦南 卡伦巴萨拉姆G


使用用于避免重复的distinct关键字

谢谢您的快速回复,但我在所选列中有重复的值,因此我需要获取所有值,但仅获取一次。我的意思是,如果某个特定值检索一次,则不应再重复。@user246354,很抱歉,我不明白你在说什么。没关系,但是你的建议在其他问题上帮助了我。非常感谢你的建议帮助了我,但是它接受了空字段。你能帮我解决这个问题吗?你可以尝试添加WHERE子句来删除它。它是空字符串还是空字符串?请尝试添加“WHERE Columnname AND Columnname NOT NULL”,谢谢您的建议,我也尝试了,但不起作用。到底是什么问题?是否存在不需要的空白字段,或者是其他字段?
cmd.CommandText = "SELECT DISTINCT Columnname FROM tablename";