rsKey.getInt(1);改成rsKey.getLong(1);
这是数据类型的问题,楼主先要确定数据库是什么类型,在决定用什方法

解决方案 »

  1.   

    int rootId = -1;
    if(rsKey.next()){
       rootId= rsKey.getInt(1);
    }
      

  2.   

    1.你这是什么版本的驱动,class12.jar和ojdbc14.jar都不支持Statement.getGeneratedKeys方法
    2.反编译看了一下,T4CRowidAccessor这个类没有getInt方法,你用getString方法试一试
      

  3.   

    要看驱动程序有没有getInt方法,没有你换了也没用
      

  4.   

    注意Statement.RETURN_GENERATED_KEYS这个参数,很可能返回的是rowid! 
    可以尝试把Statement.RETURN_GENERATED_KEYS替换为
    String generatedColumns[] = {"ID"};
    PreparedStatement pstmt = DB.prepareStmt(conn, sql,generatedColumns);