public int create(Client unClient){ int id=-1; String sql = "INSERT INTO client (nom, prenom, mail) VALUES (?,?,?);"; try (PreparedStatement prepStmt = theConnection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) { prepStmt.setString(1, unClient.getNom());//le param. 1 est remplacé par le nom du client prepStmt.setString(2, unClient.getPrenom()); prepStmt.setString(3, unClient.getMail()); int status = prepStmt.executeUpdate(); // récupération de la clé auto-générée if (status > 0) { try (ResultSet result = prepStmt.getGeneratedKeys()) { if (result.next()) { // <-- utiliser next() et pas first() id = result.getInt(1); } } } prepStmt.close(); } catch(SQLException ex){ System.out.println("SQLException:"+ex.getMessage()); System.out.println("SQLState:"+ex.getSQLState()); System.out.println("code Erreur:"+ex.getErrorCode()); } return id; } }