当前位置: 代码迷 >> Java Web开发 >> java中数据库操作小疑点
  详细解决方案

java中数据库操作小疑点

热度:18   发布时间:2016-04-16 22:09:22.0
java中数据库操作小问题
PreparedStatement pstmt=DB.getPstmt(conn, sql,Statement.RETURN_GENERATED_KEYS);
pstmt.setInt(1, 0);
        //2.------------------------------
pstmt.setInt(2, rootid);
pstmt.setString(3, title);
pstmt.setString(4, content);
pstmt.setInt(5, 0);

pstmt.executeUpdate();

//1.----------------------------------------------------------------------------------
//拿到这个KEY
//通过ResultSet 获得一个RS集,这个集里面只有自动生成的这个KEY
ResultSet rsKey=pstmt.getGeneratedKeys();
//然后同过Rs的获取值的方法
rsKey.next();
rootid=rsKey.getInt(1);
//1.-----------------------------------------------------------------------------------


为什么把//1--------------
       //1--------------之间的代码放在
        //2.-----------------会报错
------解决方案--------------------
你参数每设全,而且还没执行过,这个时候就想去取结果,当然报错
rootid=rsKey.getInt(1);--------------param的下标是从0,开始的,这里是1意思是你第二个参数没设