Récupération ID autoincrement
bonjour,
je cherche depuis 2heures ce qui ne va pas dans mon code. J'ai bien trouvé un post pour le même problème. J'ai fais la même chose, adapté à mon cas, et cela ne veux pas fonctionner!
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| try {
PreparedStatement pst = this.connection
.prepareStatement("Insert Into MARQUE (Marque) Values(?)");
pst.setString(1, marque.getMarque());
pst.execute();
ResultSet cleGenere=pst.getGeneratedKeys();
while (cleGenere.next())
marque.setIdMarque(cleGenere.getInt(1));
cleGenere.close();
log.log(Level.INFO,"marque ajouté:" + marque.toString());
pst.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println(e.getSQLState() + " " + e.getErrorCode());
e.printStackTrace();
}
} |
L'ajout à la base se fait bien mais lorsque je passe l'instruction getGeneratedKeys() je recois l'erreur "opération interdite" 8O!!
J'ai cru que c'était le ResultSetType qui n'était pas bon, mais apparement ce n'est pas de là que vient le problème.
pourtant GetGeneratedKeys() se fait bien sur un statement et renvoi un ResultSet?
J'ai même cru qu'il fallait importé PreparedStatement autre que java.sql.preparedStatement, mais il n'y en a pas d'autre :)
:help: merci d'avance.