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 :

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();
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).

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?