根据从数据库读取的文本值检查 RadioButtonList 中的单选按钮
Check radio button in RadioButtonList based on text value read from database
在用户界面中,我有单选按钮列表,其中包含(一级、二级、三级)。另一方面,我有学生 table(ID,name,level,DOB,....) 将学生的级别保存为 varchar。
在页面加载中,我想根据从数据库读取的值填充 radioButtonList。
下面的代码是 运行 但它不检查从数据库中读取它的合适的单选按钮。
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();
}
}
您必须遍历 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();
}
}
在用户界面中,我有单选按钮列表,其中包含(一级、二级、三级)。另一方面,我有学生 table(ID,name,level,DOB,....) 将学生的级别保存为 varchar。 在页面加载中,我想根据从数据库读取的值填充 radioButtonList。 下面的代码是 运行 但它不检查从数据库中读取它的合适的单选按钮。
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();
}
}
您必须遍历 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();
}
}