Bonjour,
Je travaille avec java 5.0 et une base de données MySQL en local sur ma machine. J'utilise le connecteur jdbc mysql-connector-java-5.0.6.
Lorsque j'insère des éléments dans une table de ma base de donnée, je désire récupérer les id générés (qui sont bien définis en auto_increment et en primary key). Pour cela, j'utilise le code suivant :
J'ai déjà utilisé cette méthode il y a plusieurs mois avec succès (avec un autre connector, mais j'ai essayé de remettre l'ancien, ça ne change rien).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 PreparedStatement _pstat = _conn.prepareStatement("INSERT INTO table (chose,machin,truc,bidule) VALUES (?,?,?,?)",Statement.RETURN_GENERATED_KEYS); ResultSet rs, rsId; _pstat.clearParameters(); _pstat.setString(1,lui.getChose()); _pstat.setString(2,lui.getMachin()); _pstat.setString(3,lui.getTruc()); _pstat.setString(5,lui.getBidule()); _pstat.executeUpdate(); rsId = _statement.getGeneratedKeys(); if(rsId.next()) { id_ved = rsId.getInt(1); } else { System.out.println("erreur"); } rsId.close();
Aujourd'hui ça ne fonctionne plus. Mon rsId demeure désespéremment vide. Je tourne en rond sans comprendre pourquoi.
Quelqu'un pourrait-il m'aider?
Partager