541309400 2014-12-27 13:51 采纳率: 0%
浏览 1679

jsp求大神修改代码,servlet连数据库

package my.servlets;
import java.io.*;
import my.model.mess;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

import db.DBConnAccess;
/**

  • Servlet implementation class tt
    */
    public class tt extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**

    • @see HttpServlet#HttpServlet() */ public tt() { super(); // TODO Auto-generated constructor stub }

    /**

    • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub this.doPost(request, response); }

    /**

    • @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
      */
      protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      // TODO Auto-generated method stub

      String email=request.getParameter("email");
      String login=request.getParameter("login");
      String password=request.getParameter("password");
      String confirmpass=request.getParameter("confirmpass");
      //创建session周期的RegInfo对象存储出错的信息
      mess regInfo=new mess();
      HttpSession session=request.getSession();
      session.setAttribute("regInfo",regInfo);

      PrintWriter out=response.getWriter();
      if(email==null || login.equals("") || password==null || confirmpass.equals("")){
      regInfo.setMess("不能为空!");
      response.sendRedirect("signup.jsp");

              return;
          }
      
          if(!password.equals(confirmpass)){
              regInfo.setMess("两次输入的密码不一致!");
              response.sendRedirect("signup.jsp");
      
              return;
          }
          DBConnAccess DBConn=new DBConnAccess();
          String dbpath = "test.mdb"; // 
          Connection conn = DBConn.getConnToAccess(request.getSession().getServletContext().getRealPath(dbpath)); 
      
          Statement stmt=null;
          ResultSet rs = null; 
      
          try {
              stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
              String sql = "insert into username(email,login,pwd)values('"+email+"','"+login+"','"+password+"')";
              rs = stmt.executeQuery(sql); 
              String selectsql="select *from username";
              ResultSet rs1 = stmt.executeQuery(selectsql);
              while (rs1.next()) { 
                  out.println(rs.getString("login"));
                  } 
          } catch (Exception e) {
              // TODO Auto-generated catch block
              out.println(e);
              e.printStackTrace();
          } 
      
              DBConn.close(); 
      
          //regInfo.setMess("");
          //验证成功调用ProcessData对象的update方法将注册信息添加入数据库
      
          //regInfo.setMess("注册成功,请重新登录!");
          //response.sendRedirect("signin.jsp");
          //RequestDispatcher requestDispatcher=request.getRequestDispatcher("signin.jsp");
          //requestDispatcher.forward(request, response);
      

    }

}
异常:java.sql.SQLException: No ResultSet was produced

  • 写回答

1条回答 默认 最新

  • JC_pudge 2014-12-27 14:16
    关注

    rs = stmt.executeQuery(sql);
    String selectsql="select *from username";
    ResultSet rs1 = stmt.executeQuery(selectsql);
    你处理了两次sql语句,只用了一次 stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
    你在处理String selectsql语句后再添加一次conn.createStatement连接试试看,然后再做ResultSet rs1 = stmt.executeQuery(selectsql);语句,毕竟是做两次不同的sql操作,两次访问数据库,不一定对,试试看

    评论

报告相同问题?

悬赏问题

  • ¥15 luckysheet
  • ¥25 关于##爬虫##的问题,如何解决?:
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题