[英]I want to save two entities in one transaction with JPA if any error occure while inserting the data the changes should be rolled back
[英]Error occure while using two resultset in same table
我是初学者。 在我的项目中,我正在使用Java和Mysql。 在执行代码时出现错误。 该代码在下面提到
<%
ResultSet rs=s.fetchtask(userid);
while(rs.next())
{
%>
<table border="1">
<tr><td>
<% int qnid=(rs.getInt("question_id"));
ResultSet rs1=s.fetchqn(qnid);
String qn=rs1.getString("question");
%>
<% out.println(qn);%>
</td></tr>
</table>
<%
}
%>
但是当我不使用第二个获取其工作时
<%
ResultSet rs=s.fetchtask(userid);
while(rs.next())
{
%>
<table border="1">
<tr><td>
<% int qnid=(rs.getInt("question_id"));
%>
<% out.println(qnid);%>
</td></tr>
</table>
<%
}
%>
当我使用此代码时,没有问题。 请有人帮我。 显示的错误是
org.apache.jasper.JasperException: An exception occurred processing JSP page /setter.jsp at line 142
139: // ResultSet rs1 = st.executeQuery("SELECT * FROM temp_qb WHERE question_id="+qnid+"");
140: ResultSet rs1=s.fetchqn(qnid);
141: // ResultSet rs1=s.fetchqn(qnid);
142: String qn=rs1.getString("question");
143: %>
144: <% //out.println(qn);
145: %>
我已经解决了 问题是每个Statement对象只能同时打开一个ResultSet对象。 因此,如果一个ResultSet对象的读取与另一个对象的读取是交错的,则每个都必须由不同的Statement对象生成。 如果存在打开的语句,Statement接口中的所有执行方法都会隐式关闭该语句的当前ResultSet对象。 这样通过使用另一条语句就可以解决。
几乎没有什么可做的,我建议您尝试一下,看看是否仍然遇到相同的错误。
<%
ResultSet rs=s.fetchtask(userid);
while(rs.next())
{
%>
<table border="1">
<tr><td>
<% int qnid=(rs.getInt("question_id"));
ResultSet rs1=s.fetchqn(qnid);
while(rs1.next())
{
String qn=rs1.getString("question");
out.println(qn);
}
%>
</td></tr>
</table>
<%
}
%>
最后,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.