java.sql.SQLException:无法在java servlet程序中使用executeQuery()发出数据操作语句 public类CreateAccount扩展了HttpServlet { @凌驾 受保护的void doPost(HttpServletRequest-req、HttpServletResponse-resp) 抛出ServletException、IOException{ 连接con=null; PreparedStatement pstm=null; PreparedStatement pstm1=空; PrintWriter pw=resp.getWriter(); 字符串名称=req.getParameter(“txt_名称”); String contact=req.getParameter(“txt_contact”); 字符串email=req.getParameter(“txt_email”); 字符串pin=req.getParameter(“txt_pass”); 字符串地址=req.getParameter(“txt_地址”); 字符串accType=req.getParameter(“txt_accType”); 字符串性别=请求getParameter(“radio_性别”); 字符串city=req.getParameter(“txt_city”); 字符串状态=req.getParameter(“txt_状态”); String url=“jdbc:mysql://localhost:3306/bankapp"; 字符串user=“root”; 字符串dbpass=“pass”; 试一试{ Class.forName(“com.mysql.jdbc.Driver”); con=DriverManager.getConnection(url、用户、dbpass); 字符串sql=“插入AccountDetails值(?,,,,,,,,,,,,,,,?)”; pstm=con.prepareStatement(sql); pstm.setString(1,名称); pstm固定管柱(2,触点); pstm.setString(3,电子邮件); pstm固定管柱(4,销); pstm.setString(5,地址); pstm.设置管柱(6,accType); pstm.setString(7,性别); pstm.setString(8,城市); pstm.设置字符串(9,状态); pstm.setString(10,空); pstm.setString(11,空); pstm.executeUpdate(); String sql1=“从AccountDetails中选择AccountNumber,其中电子邮件=?”; pstm1=con.preparest陈述(sql1); pstm.setString(1,电子邮件); 结果集rs=pstm.executeQuery(); int accnum=0; while(rs.next()){ accnum=rs.getInt(“accNumber”); } 写下(“亲爱的”+姓名+“感谢您在我们注册””; 写下(“你的账号是:+accnum+”); }catch(classnotfounde异常){ e、 printStackTrace(); }捕获(SQLE异常){ e、 printStackTrace(); write(“哦,我们的数据库有问题”+e+”); }最后{ 试一试{ pstm.close(); //pstm1.close(); con.close(); }捕获(SQLE异常){ e、 printStackTrace(); 写(“连接出错”+e+”); } } } }

java.sql.SQLException:无法在java servlet程序中使用executeQuery()发出数据操作语句 public类CreateAccount扩展了HttpServlet { @凌驾 受保护的void doPost(HttpServletRequest-req、HttpServletResponse-resp) 抛出ServletException、IOException{ 连接con=null; PreparedStatement pstm=null; PreparedStatement pstm1=空; PrintWriter pw=resp.getWriter(); 字符串名称=req.getParameter(“txt_名称”); String contact=req.getParameter(“txt_contact”); 字符串email=req.getParameter(“txt_email”); 字符串pin=req.getParameter(“txt_pass”); 字符串地址=req.getParameter(“txt_地址”); 字符串accType=req.getParameter(“txt_accType”); 字符串性别=请求getParameter(“radio_性别”); 字符串city=req.getParameter(“txt_city”); 字符串状态=req.getParameter(“txt_状态”); String url=“jdbc:mysql://localhost:3306/bankapp"; 字符串user=“root”; 字符串dbpass=“pass”; 试一试{ Class.forName(“com.mysql.jdbc.Driver”); con=DriverManager.getConnection(url、用户、dbpass); 字符串sql=“插入AccountDetails值(?,,,,,,,,,,,,,,,?)”; pstm=con.prepareStatement(sql); pstm.setString(1,名称); pstm固定管柱(2,触点); pstm.setString(3,电子邮件); pstm固定管柱(4,销); pstm.setString(5,地址); pstm.设置管柱(6,accType); pstm.setString(7,性别); pstm.setString(8,城市); pstm.设置字符串(9,状态); pstm.setString(10,空); pstm.setString(11,空); pstm.executeUpdate(); String sql1=“从AccountDetails中选择AccountNumber,其中电子邮件=?”; pstm1=con.preparest陈述(sql1); pstm.setString(1,电子邮件); 结果集rs=pstm.executeQuery(); int accnum=0; while(rs.next()){ accnum=rs.getInt(“accNumber”); } 写下(“亲爱的”+姓名+“感谢您在我们注册””; 写下(“你的账号是:+accnum+”); }catch(classnotfounde异常){ e、 printStackTrace(); }捕获(SQLE异常){ e、 printStackTrace(); write(“哦,我们的数据库有问题”+e+”); }最后{ 试一试{ pstm.close(); //pstm1.close(); con.close(); }捕获(SQLE异常){ e、 printStackTrace(); 写(“连接出错”+e+”); } } } },java,mysql,servlets,jdbc,Java,Mysql,Servlets,Jdbc,我使用了MySQL数据库,其中“accNumber”列作为INT(10)和主键。 我尽了一切可能从结果集中得到值,但是我一次又一次地得到相同的错误。 请帮我盖的。就像名字暗示的那样executeQuery()用于查询数据。对于插入和更新,您需要使用executeUpdate() 您的错误来自于将pstm1和pstm变量混淆的简单输入错误。小心那些代码。请添加堆栈跟踪。 public class CreateAccount extends HttpServlet { @Override pro

我使用了MySQL数据库,其中“accNumber”列作为INT(10)和主键。 我尽了一切可能从结果集中得到值,但是我一次又一次地得到相同的错误。
请帮我盖的。

就像名字暗示的那样
executeQuery()
用于查询数据。对于插入和更新,您需要使用
executeUpdate()


您的错误来自于将
pstm1
pstm
变量混淆的简单输入错误。小心那些代码。

请添加堆栈跟踪。
public class CreateAccount extends HttpServlet 
{

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {

    Connection con=null;
    PreparedStatement pstm=null;
    PreparedStatement pstm1=null;

    PrintWriter pw=resp.getWriter();
    String name=req.getParameter("txt_name");
    String contact=req.getParameter("txt_contact");
    String email=req.getParameter("txt_email");
    String pin=req.getParameter("txt_pass");
    String address=req.getParameter("txt_address");
    String accType=req.getParameter("txt_accType");
    String gender=req.getParameter("radio_gender");
    String city=req.getParameter("txt_city");
    String state=req.getParameter("txt_state");

    String url="jdbc:mysql://localhost:3306/bankapp";
    String user="root";
    String dbpass="pass";


    try {
        Class.forName("com.mysql.jdbc.Driver");
        con=DriverManager.getConnection(url, user, dbpass);
        String sql="INSERT INTO AccountDetails VALUES(?,?,?,?,?,?,?,?,?,?,?)";
        pstm=con.prepareStatement(sql);
        pstm.setString(1, name);
        pstm.setString(2, contact);
        pstm.setString(3, email);
        pstm.setString(4, pin);
        pstm.setString(5, address);
        pstm.setString(6, accType);
        pstm.setString(7, gender);
        pstm.setString(8, city);
        pstm.setString(9, state);
        pstm.setString(10, null);
        pstm.setString(11, null);

        pstm.executeUpdate();

        String sql1="SELECT accNumber FROM AccountDetails WHERE email=?";
        pstm1=con.prepareStatement(sql1);
        pstm.setString(1, email);
        ResultSet rs=pstm.executeQuery();
        int accnum=0;
        while(rs.next()){
            accnum=rs.getInt("accNumber");
        }


        pw.write("<html><head>Dear "+name+" Thankyou For Registering With Us</br>");
        pw.write("Your Account Number Is :"+accnum+"</head></html>");
    } catch (ClassNotFoundException e) {

        e.printStackTrace();
    } catch (SQLException e) {

        e.printStackTrace();
        pw.write("<html><head>Oops Something Wrong With Our Database"+e+"</head></html>");
    }finally {
        try {
            pstm.close();
            //pstm1.close();
            con.close();
        } catch (SQLException e) {

            e.printStackTrace();
            pw.write("<html><head>Something Wrong With Connection"+e+"</head></html>");
        }
    }



}


}