为了账号安全,请及时绑定邮箱和手机立即绑定

在插入语句后返回带有自动递增ID的int

在插入语句后返回带有自动递增ID的int

紫衣仙女 2021-04-06 14:19:35
我正在尝试使用GetGeneratedKey方法将刚创建的表ID作为一个整数返回。但这是行不通的。我的密码    public int saveWorkout(String titel, String beschrijving, int categorie_id, int persoon_id) throws SQLException {    int result = 0;    try (Connection con = super.getConnection()) {        String query = "INSERT INTO \"Workout\" VALUES(?,?,?,?)";        String query2 = "INSERT INTO \"Workout_Oefening\" VALUES(?,?)";        PreparedStatement pstmt = con.prepareStatement(query);        pstmt.setString(1, titel);        pstmt.setString(2, beschrijving);        pstmt.setInt(3, persoon_id);        pstmt.setInt(4, categorie_id);        pstmt.executeUpdate();        ResultSet keys = pstmt.getGeneratedKeys();        if(keys.next()) {            result = keys.getInt(1);            System.out.println(keys.getInt(1));        }    } catch (SQLException sqle) {        sqle.printStackTrace();    }    return result;}它总是返回0!如果我打印keys.getint(1)它返回以下内容org.apache.tomcat.dbcp.dbcp2.DelegatingResultSet@8a14f70
查看完整描述

2 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

我忘了加

我准备好的陈述后的Statement.RETURN_GENERATED_KEYS。


查看完整回答
反对 回复 2021-04-21
  • 2 回答
  • 0 关注
  • 158 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信