在用户界面中,我有单选按钮列表,其中包含(第一级,第二级,第三级)。另一方面,我有学生表(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();
}
}
答案 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();
}
}