【发布时间】:2018-11-16 08:23:24
【问题描述】:
所以我正忙于一个 asp.net c# 测验应用程序,用户可以在其中登录并参加测验。测验的值/问题是从数据库中获取的,它显示和工作正常,但问题是当所有问题都得到回答后,我有一个按钮,上面写着“再次进行测验”,我将用户重定向到开始页面测验应该重新加载的地方,但它什么也没显示,(我认为它只循环一次数据库,就是这样,否则我可能错了)
这是我的 C# 代码 页面加载()
MySqlDataAdapter adp = new MySqlDataAdapter("SELECT * FROM question WHERE category_id=" + categoryID, db.getCon());
adp.Fill(ds);
try
{
// teller = ds.Tables[0].Rows[i][0].ToString();
lblQuestion.Text = ds.Tables[0].Rows[i][1].ToString();
rbA.Text = ds.Tables[0].Rows[i][2].ToString();
rbB.Text = ds.Tables[0].Rows[i][3].ToString();
rbC.Text = ds.Tables[0].Rows[i][4].ToString();
rbD.Text = ds.Tables[0].Rows[i][5].ToString();
correctAnswer = ds.Tables[0].Rows[i][6].ToString();
infoQuestion = ds.Tables[0].Rows[i][7].ToString();
}
catch (Exception)
{
}
然后点击按钮
private void nextQuestion()
{
i++;
lblQuestion.Text = ds.Tables[0].Rows[i][1].ToString();
rbA.Text = ds.Tables[0].Rows[i][2].ToString();
rbB.Text = ds.Tables[0].Rows[i][3].ToString();
rbC.Text = ds.Tables[0].Rows[i][4].ToString();
rbD.Text = ds.Tables[0].Rows[i][5].ToString();
}
【问题讨论】:
-
在返回开始时你应该设置
i=0;也删除try catch(Exception)可能你正在吞下索引超出范围异常。 -
我们需要更多代码。显示你做的代码,很难这样说
-
请添加一个在测验结束时触发的代码。另外,你在哪里设置变量 i 的值?
-
我用 try catch 触发了它
标签: c# mysql asp.net database webforms