C# 所选单选按钮错误

C# 所选单选按钮错误,c#,C#,我正在开发一个从数据库生成问题的项目,这些问题是由多项选择答案生成的 在这张表格上,我有一个文本框,可以从数据库中读取问题,还有4个单选按钮可以从数据库中读取可能的答案。每次单击“下一步按钮”时,单选按钮文本名称都会使用数据库表中的记录进行更新 我想让这个程序做的是,当用户选择其中一个单选按钮时,我想让系统检查所选单选按钮textname是否等于数据库表中的正确答案。例如,表中有5列,即:选项1、选项2、选项3、选项4和rightAnswer。 因此,每当用户选择单选按钮时,我希望系统检查所选单

我正在开发一个从数据库生成问题的项目,这些问题是由多项选择答案生成的

在这张表格上,我有一个文本框,可以从数据库中读取问题,还有4个单选按钮可以从数据库中读取可能的答案。每次单击“下一步按钮”时,单选按钮文本名称都会使用数据库表中的记录进行更新

我想让这个程序做的是,当用户选择其中一个单选按钮时,我想让系统检查所选单选按钮textname是否等于数据库表中的正确答案。例如,表中有5列,即:选项1、选项2、选项3、选项4和rightAnswer。 因此,每当用户选择单选按钮时,我希望系统检查所选单选按钮的文本名称是否等于“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);
}