/** * Called When the MainTrainingPage is loaded. * Generate a question, either from the file system, or from the * database, and show that to the user. If a question is generated * it is also saved to the database. * */ private void load() { // Set the welcome label lbl_welcome.Text = stateManager.getTrainingName() + " for " + stateManager.getUserName(); // Load a question for the current training loadQuestion(); }
/** * Saves a question to the database, returns the questions id */ public int saveQuestion(string question, string correctAnswer, ArrayList allAnswers, StateManager stateManager, QA_TYPE questionType) { // check if allAnswers is shorter than 15, if it is, we'll fill it in with blanks while (allAnswers.Count < 15) { allAnswers.Add(""); } string tquery = "INSERT INTO question (question, correctAnswer, answer1, answer2, answer3, answer4, answer5, answer6, " + "answer7, answer8, answer9, answer10, answer11, answer12, answer13, answer14," + "answer15, trainingName ) VALUES('" + question + "', '" + correctAnswer + "', '" + allAnswers[0] + "', '" + allAnswers[1] + "', '" + allAnswers[2] + "', '" + allAnswers[3] + "', '" + allAnswers[4] + "', '" + allAnswers[5] + "', '" + allAnswers[6] + "', '" + allAnswers[7] + "', '" + allAnswers[8] + "', '" + allAnswers[9] + "', '" + allAnswers[10] + "', '" + allAnswers[11] + "', '" + allAnswers[12] + "', '" + allAnswers[13] + "', '" + allAnswers[14] + "', '" + stateManager.getTrainingName() + "');"; insert(tquery); tquery = "SELECT * from question where question = '" + question + "' AND answer12 = '" + allAnswers[11] + "'; "; List <NameValueCollection> idList = query(tquery); return(int.Parse(idList[0]["id"])); }
public string getRandomQuestionID(StateManager stateManager) { string queryString = "SELECT question.id AS questionID" + " FROM question " + " WHERE trainingName='" + stateManager.getTrainingName() + "'" + " ORDER BY RANDOM() " + " LIMIT 1; "; List <NameValueCollection> returnVal = query(queryString); string questionID = returnVal[0]["questionID"]; return(questionID); }
public List <NameValueCollection> getWorstQuestions(StateManager stateManager, int numQuestions) { string userName = stateManager.getUserName(); string trainingName = stateManager.getTrainingName(); string queryString = "select user.id AS userID, question.id AS questionID, (user_answers_question.numCorrect*1.0 / user_answers_question.numAttempt*1.0) AS pctCorrect, " + " numAttempt, numCorrect, numWrong, trainingName, userName, " + " question.question, correctAnswer, answer1, answer2, answer3, answer4, answer5, answer6, answer7, " + " answer8, answer9, answer10, answer11, answer12, answer13, answer14, answer15 " + "from user_answers_question, user, question " + "WHERE user_answers_question.userID = user.id " + " AND user_answers_question.questionID = question.id " + " AND pctCorrect NOT NULL " + " AND userName = '******' " + " AND trainingName = '" + trainingName + "' " + " ORDER BY pctCorrect " + " LIMIT " + numQuestions + "; "; return(query(queryString)); }