Bonjour,
je suis en train de migrer ma base de données et après plusieurs recherches et essais de mon coté, je m'en remet à vous.
Comme dit dans le titre, je passe à PostgreSQL et je souhaite récupérer les clés générées sur une requêtes INSERT.
Voici le code "basique" que j'utilisais avec MySQL
Le plantage se fait au niveau du generatedKeys.first() où PostgreSQL me renvoie L'opération nécessite un scrollable ResultSet, mais ce ResultSet est FORWARD_ONLY. J'ai alors tenté de remplacé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 String requete = "INSERT INTO GroupeTest (titre, scenario) VALUES (?, ?)"; PreparedStatement pstmt = getConnexion().prepareStatement(requete, Statement.RETURN_GENERATED_KEYS); pstmt.setString(1, groupeTest.getTitre()); pstmt.setInt(2, Integer.parseInt(contenantId.substring(1))); pstmt.executeUpdate(); ResultSet generatedKeys = pstmt.getGeneratedKeys(); if (generatedKeys.first()) { groupeTest.setId(generatedKeys.getInt(1)); }par
Code : Sélectionner tout - Visualiser dans une fenêtre à part Statement.RETURN_GENERATED_KEYSet par
Code : Sélectionner tout - Visualiser dans une fenêtre à part ResultSet.TYPE_SCROLL_INSENSITIVE. J'obtiens la même erreur. J'en déduis alors que le résultSet extrait du preparedStatement n'est pas Scrollable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ResultSet.TYPE_SCROLL_SENSITIVE
Comment faire ?
Peut-on configurer PostgresSQL pour rendre le comportement similaire à MySQL sachant que je parcours la ResultSet de façon séquentielle ?
Merci d'avance
Partager