我正在开发一个从数据库生成问题的项目,这些问题是通过多项选择答案生成的。
在这张表格上,我有一个文本框,用于从数据库中删除问题,还有4个单选按钮,用于从数据库中读取可能的答案。每次单击“下一个按钮”时,单选按钮文本名称将使用数据库表中的记录进行更新。
我希望这个程序要做的是当用户选择其中一个单选按钮时,我希望系统检查所选单选按钮textname是否等于数据库表中的正确答案。例如,在表中有5列,即:option1,option2,option3,option4和rightAnswer。 因此,每当用户选择一个单选按钮时,我希望系统检查所选单选按钮的textname是否等于“RightAnswer”列中的记录,如果是,我会将消息框显示为“正确”,如果不是则显示的是messgaebox “错误的”
我已经完成的工作:
这是我从数据库更新单选按钮文本名称的方式
加载表单时调用此方法
void LoadingPossibleAnswers()
{
Query = "SELECT * FROM AnswersTbl";
theReader = conn.ExecuteStatement(Query);
while (theReader.Read())
{
radioButton1.Text = theReader["Option1"].ToString();
radioButton2.Text = theReader["Option2"].ToString();
radioButton3.Text = theReader["Option3"].ToString();
radioButton3.Text = theReader["Option4"].ToString();
}
conn.CloseConnection();
}
单击按钮时调用此方法
void CorrectAnswer( RadioButton rdb)
{
string correct = rdb.Text;
Query = "SELECT * FROM FROM AnswersTbl;"
theReader = conn.ExecuteStatement(Query);
while (theReader.Read())
{
correct = theReader["RightAnswer"].ToString();
if (rdb.Checked && rdb.Text == correct)
{
MessageBox.Show("correct");
}
else
{
MessageBox.Show("wrong");
}
}
}
当我运行上面的代码时,即使选择了正确的单选按钮,也会执行条件。任何人都可以请帮助为什么这是?我错过了什么吗?
答案 0 :(得分:0)
提到你的代码,
在进入rdb.Checked
方法之前,请检查(CorrectAnswer
)。
像
if(rdb.Checked)
{
CorrectAnswer(rdb);
}
检查所有RadioButton
并仅将选中的RadioButton
传递给方法。
您可以在rdb.Checked
方法旁删除CorrectAnswer
条件。