Как перезагрузить те же значения из базы данных - PullRequest
0 голосов
/ 06 июня 2018

Так что я занят приложением для викторины asp.net c #, где пользователи могут войти и пройти тест.Значения / вопросы теста взяты из базы данных, она отображается и работает нормально, но проблема в том, что, когда на все вопросы есть ответы, у меня есть кнопка с надписью «сделать тест снова», на которой я перенаправляю пользователя на начальную страницу.где тест должен быть перезагружен, но он просто ничего не показывает (я думаю, что он просматривает базу данных только один раз, и это все, или я могу ошибаться)

это был мой код 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();
    }

1 Ответ

0 голосов
/ 06 июня 2018

В Page_Load установите i=0, чтобы оно не выходило за пределы диапазона.Вы не сбрасываете его после завершения теста

Добавьте сюда несколько записей или всплывающее сообщение.Никогда не стоит глотать подобные исключения.

catch (Exception)
{

}

Добавьте try-catch в nextQuestion (), чтобы вы могли уловить проблему при заполнении следующего вопроса.Таким образом, вы делаете это только на Page_Load

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...