如何从数据库重新加载相同的值

t0ybt7op  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(357)

所以我正忙着开发一个asp.NETC测验应用程序,用户可以登录并参加测验。测验的值/问题是从数据库中获取的,它显示并正常工作,但问题是,当所有问题都已回答时,我有一个按钮,上面写着“再次进行测验”,我将用户重定向到开始页,在那里测验应该重新加载,但它只是没有显示任何内容,(我认为它只在数据库中循环一次,就是这样,否则我可能会错)
这是我的c代码pageload()

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();
    }
zu0ti5jz

zu0ti5jz1#

页面加载集中 i=0 所以不会超出范围。你不能在测验结束后重置它
在此处添加一些日志记录或弹出消息。像这样吞下例外永远不是个好主意。

catch (Exception)
{

}

添加 try-catch 在nextquestion()中,这样您就可以在填写下一个问题时抓住问题。这样,您只能在页面加载时执行此操作

相关问题