根据从数据库

时间:2016-06-17 12:05:09

标签: c# mysql asp.net radiobuttonlist

在用户界面中,我有单选按钮列表,其中包含(第一级,第二级,第三级)。另一方面,我有学生表(ID,名称,级别,DOB,....),将学生的级别保存为varchar。 在页面加载中,我想根据从数据库读取的值填充radioButtonList。 以下代码正在运行,但它没有检查从DB读取它的合适的单选按钮。

using (MySqlConnection SqlCon = new MySqlConnection(connStr))
                {
                    MySqlDataReader myReader = null;
                    using (MySqlCommand cmd = new MySqlCommand("SELECT S_Id, level FROM student where S_Id='" + 111 + "'"))
                    {
                        cmd.CommandType = CommandType.Text;
                        cmd.Connection = SqlCon;
                        SqlCon.Open();
                        myReader = cmd.ExecuteReader();
                        if (RadioButtonList1.Items.FindByValue(myReader.ToString()) != null)
                        {
                           // RadioButtonList1.Items.FindByValue(myReader.ToString()).Selected = true;
                            RadioButtonList1.SelectedValue = myReader.ToString();
                        }

                        SqlCon.Close();
                    }
                }

1 个答案:

答案 0 :(得分:0)

您必须遍历DataReader对象才能获取其值。尝试这样的事情:

using (MySqlConnection SqlCon = new MySqlConnection(connStr))
{
   MySqlDataReader myReader = null;
   using (MySqlCommand cmd = new MySqlCommand("SELECT S_Id, level FROM student where S_Id='" + 111 + "'"))
 {
  cmd.CommandType = CommandType.Text;
  cmd.Connection = SqlCon;
  SqlCon.Open();
  myReader = cmd.ExecuteReader();
  while (myReader.Read())
  {
   if (RadioButtonList1.Items.FindByValue(myReader["level"].ToString()) != null)
   {                           
     RadioButtonList1.SelectedValue = myReader["level"].ToString();
   }               
  }
  sqlCon.Close();
 }
}