2013-02-22 62 views
0

我想從表中獲取下一條記錄以顯示爲Question。使用下面的代碼,我無法從表中獲取下一個Question如何通過點擊獲取下一個數據行下一步按鈕

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (Page.IsPostBack == false) 
    { 
     Quiz_Load(); 

    } 
} 
private void Quiz_Load() 
{ 
    try 
    { 
     if (Session["UserQuizID"] != null) 
     { 
      string mayank = "mm.bhagat"; 
      string UserQuiz_ID = Session["UserQuizID"].ToString(); 
      SqlConnection con = new SqlConnection(c); 
      SqlCommand cmd = new SqlCommand("select top 0.1 percent QuestionID, Title, Answer1,Answer2,Answer3,Answer4,UserAnswer from [Table_UserAnswer] WHERE UserQuizID = '" + UserQuiz_ID.ToString() + "' AND UserName = '" + mayank.ToString() + "' order by newid()", con); 
      con.Open(); 
      SqlDataReader dr = cmd.ExecuteReader(); 
      if (dr.Read()) 
      { 
       Session["QuestionID"] = dr[0].ToString(); 
       Lbl_QuestionTitle.Text = dr[1].ToString(); 
       RadBut_Answer.Items.Add(dr[2].ToString()); 
       RadBut_Answer.Items.Add(dr[3].ToString()); 
       RadBut_Answer.Items.Add(dr[4].ToString()); 
       RadBut_Answer.Items.Add(dr[5].ToString()); 
       Session["UserAnswer"] = dr[6].ToString();     
      } 
      else 
      { 

      } 

      con.Close(); 
     } 
     else 
     { 
      Response.Redirect("Start.aspx"); 
     } 

    } 
    catch 
    { 

    }   
} 
protected void RadBut_Answer_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    try 
    { 
     int getvalue; 
     getvalue = Convert.ToInt32(RadBut_Answer.SelectedIndex + 1); 
     Lbl_SelectedAnsMsg.Text = MessageFormatter.GetFormattedAlertsMessage("Your Selected Answer is : " + getvalue.ToString()); 
     Session["UserAnswer"] = getvalue.ToString(); 
    } 
    catch 
    { 
    } 
} 

protected void But_Next_Click(object sender, EventArgs e) 
{ 
    UpdateUserAns(); 
    if (Session["UserAnswer"] == null) 
    { 
     Response.Redirect("Result.aspx"); 
    } 
    else 
    { 

    } 
} 

private void UpdateUserAns() 
{ 
    try 
    { 
     string mayank = "mm.bhagat"; 
     string UserQuiz_ID = Session["UserQuizID"].ToString(); 
     string Question_ID = Session["QuestionID"].ToString(); 
     string User_Answer = Session["UserAnswer"].ToString(); 
     SqlConnection con = new SqlConnection(c); 
     SqlCommand cmd = new SqlCommand("UPDATE Table_UserAnswer SET UserAnswer='" + User_Answer.ToString() + "' WHERE UserQuizID = '"+ UserQuiz_ID.ToString() +"' AND QuestionID = '"+Question_ID.ToString()+"' AND UserName = '"+mayank.ToString()+"'", con); 
     con.Open(); 
     cmd.ExecuteNonQuery(); 
     con.Close(); 
     cmd.Cancel(); 
    } 
    catch 
    { 

    } 
} 
+0

你爲什麼選擇'選擇頂部0.1%,QuestionID ...'?順便說一句,如果你想保持你的數據庫使用參數。 – 2013-02-22 11:04:12

+0

我沒有看到你在下一個方法中返回問題的任何地方?您只更新您的UserAnswer表。 – 2013-02-22 11:04:46

回答

1

喜檢查這個帖子client here

在這裏你可以找到你的問題解

相關問題