【发布时间】:2014-03-26 04:09:27
【问题描述】:
我正在开发一个从数据库生成问题的项目,这些问题是通过多项选择答案生成的。
在这个表单上,我有一个文本框,可以将数据库中的问题变成红色,还有 4 个单选按钮可以从数据库中读取可能的答案。每次单击“下一个按钮”时,单选按钮文本名称都会使用数据库表中的记录进行更新。
我希望这个程序做的是,当用户选择其中一个单选按钮时,我希望系统检查所选单选按钮 textname 是否等于数据库表中的正确答案。例如在表中有 5 列,即:option1、option2、option3、option4 和 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 条件也会执行。任何人都可以请帮助这是为什么?我错过了什么吗?
【问题讨论】:
-
“点击按钮时调用此方法”。单击哪个按钮后?是
RadioButton吗? -
抱歉 .. 当单选按钮被选中时“下一个按钮”被调用。
-
设置断点。可能是什么问题?变量是否包含您所期望的?另外,通过
String.Equals()比较字符串。
标签: c#