选定的单选按钮错误

时间:2014-02-24 13:07:50

标签: c#

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

在这张表格上,我有一个文本框,用于从数据库中删除问题,还有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");
        }
    }
}

当我运行上面的代码时,即使选择了正确的单选按钮,也会执行条件。任何人都可以请帮助为什么这是?我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

提到你的代码, 在进入rdb.Checked方法之前,请检查(CorrectAnswer)。 像

if(rdb.Checked)
{
CorrectAnswer(rdb);
}

检查所有RadioButton并仅将选中的RadioButton传递给方法。

您可以在rdb.Checked方法旁删除CorrectAnswer条件。