错误:java.sql.SQLException: Parameter index out of bounds. 2 is not between valid values of 1 and 1

解决方案 »

  1.   

    String sql="delete from "+tablename+" where deptid=?";
    Jdbctemplate db=JdbcFactory.getDb();
    Connection conn=Conn.getconn();
    Object []params=id;
    int count=db.executeUpdate(conn, sql, params);语句没错 传参是没错的 params也有值 
      

  2.   

    public void setValue(PreparedStatement prest,Object...params){
    if(params!=null){
    try {
    for(int i=1;i<=params.length;i++){
    prest.setObject(i, params[i-1]);
    }
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }
    //////////////
    public int executeUpdate(Connection conn,String sql,Object...params){
    PreparedStatement prest=null;
    int count=0;
    try {
    prest=conn.prepareStatement(sql);
    if(params!=null){
    this.setValue(prest, params);
    }
    count=prest.executeUpdate();//到这就有错了!!!!!!!
    } catch (SQLException e) {
    e.printStackTrace();
    }finally{
    closeStatement(prest);
    }
    return count;
    }
      

  3.   

    String sql="delete from "+tablename+" where deptid=?"; 
    如果 删除多条的话,应该用 deptid in('1','2')...
      

  4.   

    额,循环构造sql语句,每次构造完执行一次