jsp新手求助:多个结果集resultset嵌套出现结果集关闭怎么改 20

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletE... public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
HttpSession session = request.getSession();
String ServeNo = (session.getAttribute("ServeNo")).toString();
if(request.getParameter("Submit")!=null){
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url="jdbc:sqlserver://localhost:1433; DatabaseName=yidong";
Connection con=DriverManager.getConnection(url,"sa","chenjunyan");
Statement stmt=con.createStatement();
Statement stmte=con.createStatement();
PreparedStatement pstmt;
String sql="select * from Refund_inf where ServeNo='"+ServeNo+"'";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
String sql2="select * from Prestore_inf where ServeNo='"+ServeNo+"'";
ResultSet rs2=stmte.executeQuery(sql2);
while(rs2.next()){
if(rs.getString(2)==rs2.getString(2)){
int rest=rs.getInt(6);
String rest2=Integer.toString(rest);
String sql3="update Prestore_inf set CurrentBalance='"+rest2+"',RefundAmount='"+rest2+"' where ServeNo='"+ServeNo+"'and PreProject='"+rs2.getString(2)+"'";
String sql4="delete from Prestore_inf where ServeNo='"+ServeNo+"'and PreProject='"+rs.getString(2)+"'";
if(rest==0){
stmte.executeUpdate(sql4);
System.out.println("预存表删除成功!");
}else if(rest>0){
pstmt = con.prepareStatement(sql3);
pstmt.executeUpdate();
System.out.println("预存表修改成功!");
}
}
}
rs2.close();
String sql5="truncate table Refund_inf";
stmt.executeUpdate(sql5);
System.out.println("提交成功!");
}
rs.close();
stmt.close();
con.close();
request.setAttribute("sign", ServeNo);
request.getRequestDispatcher("/fee.jsp").forward(request, response);
}catch(Exception e){
e.printStackTrace();}
}
展开
 我来答
飞花岁月2007
2016-05-06 · TA获得超过377个赞
知道小有建树答主
回答量:505
采纳率:78%
帮助的人:330万
展开全部
把关闭的代码统一放在最后面不就完了
追问
移了还是不行
追答
错误都没贴出来,但是我觉得你的代码用法是有点小问题,因为Statement 创建新的ResultSet的时候会自动关闭上一个ResultSet ,你的代码刚好就是一个 Statement 多次返回ResultSet 所以会取不到结果。解决方法就是分别用三个Statement  创建三个ResultSet,或者创建的ResultSet后把结果用javabean存起来供后面使用
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式