C# 所选单选按钮错误
我正在开发一个从数据库生成问题的项目,这些问题是由多项选择答案生成的 在这张表格上,我有一个文本框,可以从数据库中读取问题,还有4个单选按钮可以从数据库中读取可能的答案。每次单击“下一步按钮”时,单选按钮文本名称都会使用数据库表中的记录进行更新 我想让这个程序做的是,当用户选择其中一个单选按钮时,我想让系统检查所选单选按钮textname是否等于数据库表中的正确答案。例如,表中有5列,即:选项1、选项2、选项3、选项4和rightAnswer。 因此,每当用户选择单选按钮时,我希望系统检查所选单选按钮的文本名称是否等于“RightAnswer”列中的记录,如果是,我将显示一个消息框以显示“正确”,如果不是,则显示消息框以显示“错误” 到目前为止我所做的工作:C# 所选单选按钮错误,c#,C#,我正在开发一个从数据库生成问题的项目,这些问题是由多项选择答案生成的 在这张表格上,我有一个文本框,可以从数据库中读取问题,还有4个单选按钮可以从数据库中读取可能的答案。每次单击“下一步按钮”时,单选按钮文本名称都会使用数据库表中的记录进行更新 我想让这个程序做的是,当用户选择其中一个单选按钮时,我想让系统检查所选单选按钮textname是否等于数据库表中的正确答案。例如,表中有5列,即:选项1、选项2、选项3、选项4和rightAnswer。 因此,每当用户选择单选按钮时,我希望系统检查所选单
这就是我从数据库更新单选按钮文本名称的方式。
加载表单时调用此方法
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");
}
}
}
当我运行上面的代码时,即使选择了正确的单选按钮,else条件也会执行。谁能帮我解释一下为什么会这样?我遗漏了什么吗?关于您的代码,
在进入CorrectAnswer
方法之前,进行此检查(rdb.Checked
)。
像
对所有RadioButton
s执行此检查,并仅将选中的RadioButton
传递给方法
您可以删除
rdb。选中CorrectAnswer
方法中的条件。“单击按钮时调用此方法”。单击哪个按钮之后?是单选按钮吗?对不起。。选择单选按钮时,当“下一步”按钮被调用时,将调用该方法。设置断点。有什么问题吗?变量是否包含您期望的内容?另外,通过String.Equals()
比较字符串。
if(rdb.Checked)
{
CorrectAnswer(rdb);
}