2012-02-23 20 views
0

この特定のJSPページの実行中に重大な問題に直面しています。トラブルTHR CODEここ新しい行がデータベースに挿入されていません

<tr> 
<td> 
<%rs2 = st.executeQuery("Select * from degrees"); %> 
<select name = "courses"> 
<%while(rs2.next()) {%> 
<option value = "<%=rs2.getString(1)%>"><%=rs2.getString(2)%></option> 
<%} %> 
</select> 
</td> 
<td> 
<input type = "text" name = "ratings" class = "span1"> 
</td> 
<td> 
<a href = "">Delete Course</a> 
</td> 
</tr> 
<%if(request.getParameter("courses")!="0"&&request.getParameter("ratings")!=null){ 
    String degree_id = request.getParameter("courses"); 
    int ratings = Integer.parseInt(request.getParameter("ratings")); 
    PreparedStatement ps = con.prepareStatement("Insert into college_degree values (?,?,?)"); 
    ps.setString(1,college_id); 
    ps.setString(2,degree_id); 
    ps.setInt(3,ratings); 
    ps.executeUpdate(); 
    c_a = Integer.parseInt(course_added); 
    c_a++; 
    String str = Integer.toString(c_a); 
    course_added = str; 
    String site = new String("degree_to_college.jsp?course_added="+course_added); 
    response.setStatus(response.SC_MOVED_TEMPORARILY); 
    response.setHeader("Location", site); 
} 

%> 
</tbody> 
</table> 
<form action = "degree_to_college.jsp"> 
<input type = "submit" class = "btn-primary large" value = "NEW COURSE" /> 
</form>** 

は、私は、データベース内の任意の変更をすることなく、同じページにリダイレクトしています新しいコースをクリックした後です。データはデータベースに追加されません。

+1

このようなオープンエンドの質問です。まず、JSP内にJavaコードを記述しないでください。この2012.Anyの方法でエラーがあるかどうかを確認するログを確認する必要があります。ブレークポイントを設定し、コード実行時に何が起こるかを確認します。 – Shahzeb

答えて

3

使用後のステートメントと接続を忘れてしまった。接続を閉じると、すぐにトランザクションがコミットされます。通常のJDBCイディオムは、ブロックのブロックfinallyが閉じられているところです。

このJSPは、more serious issuesです。

0

BalusCが言ったことの上に。

HTMLフォームは、select/Optionステートメントとは別のものです。選択要素が確実にフォームに含まれていることを確認してください。

関連する問題