c# - 如何从数据库 SQL 添加组合框值

标签 c# mysql winforms

所以我想添加带有数据库中值的ComboBox项。 我现在的代码是这样的:

//Make connection
        MySqlConnection conn = new MySqlConnection(StrConnectionstring);

        //SQL
        MySqlCommand cmd = new MySqlCommand("SELECT Classname, ClassID FROM tblClasses", conn);

        //Open connection
        conn.Open();
        MySqlDataReader DR = cmd.ExecuteReader();



        while (DR.Read())
        {
            CmbClass.DisplayMember = "Text";
            CmbClass.ValueMember = "Value";
            CmbClass.Items.Add( new { Text = Convert.ToString(DR["Classname"]), Value = Convert.ToInt16(DR["ClassID"]) });
        }

类名已正确给出,但当我使用cmbClass.SelectedValue时,它没有给出任何值。

最佳答案

您需要在组合框中选择一些值。

此外,如果您想使用SelectedValue,则必须首先使用绑定(bind),设置ComboBoxDataSource。如果您不想这样做,那么您可以使用 SelectedItem

此外,您在循环中设置 DisplayMemeberValueMemeber,这是不必要的。 在循环之外执行此操作。

关于c# - 如何从数据库 SQL 添加组合框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55242118/

相关文章:

c# - ListView 和文件输出的问题

c# - 如何从 C# 中确定性地处理托管 C++/CLI 对象?

php - HTML 表单不保存已禁用的检查或单选字段

c# - 为什么将 VB.NET 代码迁移到 C# 时 for 循环的行为不同?

mysql - 为什么MOD​​IFY AUTO_INCREMENT需要重建表?

php - 在 MySQL 中是否可以使查询的结果独立于子查询的结果?

c# - 如何轻松地在 C# Windows 窗体应用程序中添加密码?

c# - WinForms/C# 中的动画效果

c# - Chrome 驱动程序在 FindElement 调用中抛出脚本结果错误

c# - 如何从未注册的应用程序(.net Framework Web应用程序)访问Azure Key Vault