当前位置: 首页 > 知识库问答 >
问题:

在jsp中同时使用insert和delete查询时出错

殷浩慨
2023-03-14

我得到了一些错误,我试图插入一些数据到mysql db中的一个表中,同时也想从另一个表中删除一些数据。我使用的是jsp、JDBC。我不明白为什么我会得到这个错误,这里是我的jsp页面的代码…

else{String sql1;

        try{


            con=DriverManager.getConnection(url,usr,passwd);

            String s1=request.getParameter("myText");
            String s2=request.getParameter("myText1");
            String s3=request.getParameter("myText2");
            String s4=request.getParameter("myText3");
            String s5=request.getParameter("myText4");
            String s6=request.getParameter("myText5");
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            Date issueDate = sdf.parse(s4);
            Date expiryDate=sdf.parse(s5);
            sql="insert into library.issue values (?,?,?,?,?,?)";

            ps=con.prepareStatement(sql);
            con.setAutoCommit(false);
            ps.setString(1,s1);
            ps.setString(2,s2);
            ps.setString(3,s3);
            ps.setDate(4, new java.sql.Date(issueDate.getTime()));
            ps.setDate(5, new java.sql.Date(expiryDate.getTime()));
            ps.setString(6,s6);
            ps.addBatch(sql);
            sql1="delete from library.books where book_id=?";
            ps.setString(1,s3);
            ps.addBatch(sql1);
            int[] count=ps.executeBatch();
            con.commit();
            response.sendRedirect("complete.jsp");



        }catch(SQLException e){
            e.printStackTrace();
            try{
                con.rollback();
            }catch(SQLException e1){
                e1.printStackTrace();
            }
        }finally{
            try{
                if(ps!=null ){
                    ps.close();

                }
            }catch(SQLException e1){
                e1.printStackTrace();
            }
            try{
                if(con!=null ){
                    con.close();

                }
            }catch(SQLException e2){
                e2.printStackTrace();
            }
        }
        }
    %>

library是我的db名,而issue是我的表名

共有1个答案

姬奇思
2023-03-14

不能在PreparedStatement批处理中组合不同的SQL语句。因此,要么在一个事务中使用普通的statement,要么使用两个preparedstatement

 类似资料:
  • 在部署应用程序后,我得到HTTP404页面未找到错误我是新的jsp请有人帮助我。

  • 我使用包对MySQL服务器运行查询 以下是连接设置 它适用于所有查询,只有查询有26个参数: 我一直收到以下错误消息: C:\myprojects\tms\node_modules\mysql2\lib\commands\commands.js:30 this.onresult(err);^ TypeError:this.onresult不是Connection.Query.Execute(C:\

  • 我正在我的项目中使用Hibernate,并使用如下所示的“查询”。 我得到结果了。当我使用下面这样的泛型时 得到结果是因为“?”是通配符(或),它将接受任何数据类型 当我使用下面的代码时,会出现一些错误(java.lang.IllegalArgumentException:Update/Delete queries Count be typed)。我使用整数数据类型,因为createQuery在执

  • 我有如下sql查询: 结果是按类别分组的用户收入-显示为数组。 我想添加subquery-get这些收入,而不是分组的,这样用户就可以在array中展开字段并详细地看到它。 谢谢你的帮助

  • 我在oracle服务器上有一个错误,但我不明白为什么它不工作。我使用oracle sql developer软件。 该查询是: TestVue中的值。第2行:' 46.08 ','-46.47 ',' 1084.05 ',' 66500 ',...“测试视图”是检查返回没有空值的行的视图 当我执行查询时,总是出现一个错误,它说: ORA-01722:无效号码01722.00000-"无效号码"*原

  • 假设我们有两个对象: 如何获得相同位置的所有服务器的状态列表。例如如果和? 如果我想使用createQuery(Server.class),然后。filter(),则无法输出状态列表!