簡體   English   中英

新行未插入數據庫

[英]New row is not inserted in database

在執行此特定的JSP頁面時,我遇到了一些嚴重的問題。

<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>**

這里的麻煩是單擊“新課程”后,我被重定向到同一頁面,而數據庫中沒有任何更改。 沒有數據添加到數據庫。

您忘記使用后關閉該語句和連接。 關閉連接將立即提交事務。 常規的JDBC習慣用法是,在創建它們的地方,它們在try塊的finally塊中關閉。

順便說一下,您已經對該JSP遇到了更嚴重的問題

在BalusC所說的之上。

HTML表單與select / Option語句分開。 確保Select元素位於Form內部,以確保其被提交。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM