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!
L'ajout à la base se fait bien mais lorsque je passe l'instruction getGeneratedKeys() je recois l'erreur "opération interdite"
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 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(); } }!!
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
merci d'avance.
Partager