Новая строка не вставлена ​​в базу данных - PullRequest
0 голосов
/ 23 февраля 2012

Я столкнулся с некоторыми серьезными проблемами при выполнении этой конкретной страницы 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>**

Здесь возникает проблема после нажатия на НОВЫЙ КУРС, я перенаправлен на ту же страницу без каких-либо изменений в базе данных.Данные не добавляются в базу данных.

Ответы [ 2 ]

3 голосов
/ 23 февраля 2012

Вы забыли закрыть оператор и соединение после использования. Закрытие соединения немедленно совершит транзакцию. Обычная идиома JDBC заключается в том, что они закрыты в блоке finally блока try там, где они созданы.

Кстати, у вас более серьезные проблемы с этим JSP.

0 голосов
/ 23 февраля 2012

В дополнение к тому, что сказал BalusC.

Форма HTML отделена от оператора select / Option.Убедитесь, что элемент Select находится внутри формы, чтобы обеспечить его отправку.

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