为什么我的组合框只显示一个项目? c#mysql

时间:2017-05-31 06:42:30

标签: c# mysql combobox

enter image description here我试图在组合框上显示我的所有项目,但是当我运行我的应用程序时,我只得到一个项目。你能帮帮我吗,这是我的代码

try
{
   MySqlConnection conection = new MySqlConnection("server = 127.0.0.1; database = sistemalaboratorio; Uid = root; pwd =;");
   string selectQuery = "SELECT clavemateria FROM materia";
   conection.Open();
   MySqlCommand command = new MySqlCommand(selectQuery, conection);
   MySqlDataReader reader = command.ExecuteReader();                    

   while (reader.Read());
   {                      
       comboBox1.Items.Add(reader["clavemateria"].ToString());
   }
} catch (Exception ex)
{
   MessageBox.Show(ex.Message);
}

1 个答案:

答案 0 :(得分:0)

假设在页面加载组合框之前发生了这种读取,请确保您的 materia 表中包含多条记录。

如果您没有使用SQL Management studio直接访问,这些查询可能会计算SQL表中的记录

SELECT COUNT(*) FROM materia WITH (NOLOCK)

- 这里的NOLOCK用于测试这个答案:不多也不少

SELECT clavemateria, count(*)
FROM materia
GROUP BY clavemateria

你也可以试试这个:

string qr1 = "select * from materia ";
SqlCommand cmd1 = new SqlCommand(qr1, con);
con.Open();
SqlDataReader dr1 = cmd1.ExecuteReader(); 
cmbcat.Items.Clear(); 
while (dr1.Read()) 
{
 cmbcat.Items.Add(new Item(dr1["clavemateria"].ToString(), dr1["clavemateria"].ToString())); 
}
 con.Close();

或参考此示例