Statement这种数据库操作只能执行一次,如果你想重复执行,那么你应该用
PreparedStatement对象的executeUpdate()方法可以执行重复,注意该对象是没有参数的.
其中的SQL语句可以用?代替参数,然后用SETXXX方式传递参数.XXX为数据类型可以是INT,STRING等.

解决方案 »

  1.   

    想要一次提交,你可以使用stmt.addBatch(String)来完成
      

  2.   

    然后再使用 stmt.executeBatch()来执行。
      

  3.   

    不过,最好用PreparedStatement,效率会高很多。
      

  4.   

    这是我解决后的代码
     while(rs.next()){
     company_id_s = rs.getString("company_id");
     if(!company_id_s.equals(company_id)){
            String sql_modify = "update cs_chance set cancle_flag=? where company_id=? and customer_id=?";
            PreparedStatement ps = con.prepareStatement(sql_modify);
            ps.setString(1, "F");
            ps.setString(2, company_id_s);
    ps.setString(3, customer_id);
    ps.executeUpdate();
     out.print(company_id_s);
     }
     }