Bonjour,
Je fais un insert dans une table par la commande :
executeUpdate (INSERT ...)
L'Insert fonctionne bien, cependant j'aurais besoin de récupérer la clef générée lors de cet Insert.
J'ai donc essayé par :
cependant dès que je rajoute ce parametre : Statement.RETURN_GENERATED_KEYS j'ai cette exception :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Statement st = connLogistique.createStatement(); st.executeUpdate("INSERT INTO Livraison (ncom, ncli, nomclient, adresseclient) VALUES ("+ncom+","+ncli+",'"+nomclient+"','"+adresseclient+"')",Statement.RETURN_GENERATED_KEYS); //Les clefs auto-générées sont retournées sous forme de ResultSet ResultSet rs = st.getGeneratedKeys();
Quelqu'un sait pourquoi? y'a t'il une autre solution pour savoir la valeur de la clef générée?
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 javax.transaction.TransactionRolledbackException: null; nested exception is: java.lang.UnsupportedOperationException ....... Caused by: java.lang.UnsupportedOperationException at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:1464) at metier.LogistiqueBeanBean.creationLivraison(LogistiqueBeanBean.java:126) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:629) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:72) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84) ... 53 more
merci,
Partager