Insertion table java/oracle

Résolu/Fermé
brain2005 Messages postés 31 Date d'inscription mercredi 15 août 2007 Statut Membre Dernière intervention 15 février 2009 - 18 août 2008 à 11:44
 golches - 6 déc. 2011 à 20:07
Bonjour,

j'ai un prob seulement avec la variable MIC de type float, voilà le code:


String lot, Bale_ID;
float MIC;

.
.
.

int NbIns =
stmt.executeUpdate("insert into bale(Lot, Bale_ID, MIC) values ('"+lot+"','"+Bale_ID+"', '"+MIC+"') ");


le message d'erreur qui apparait est le suivant:

Exception in thread "main" java.sql.SQLException: ORA-01722: Nombre non valide

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:113)
at oracle.jdbc.driver.T4CStatement.execute_for_rows(T4CStatement.java:561)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1086)
at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1487)

qu'elle est la solution aidez moi svp et je vous remercie d'avance
A voir également:

1 réponse

sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
18 août 2008 à 13:08
Salut,

MIC étant de type float (donc numérique dans ta base de données), Oracle n'aime pas cette partie:
"', '"+MIC+"')
==> là tu mets MIC entre quotes (comme s'il s'agissait d'un varchar), Oracle essaie de le transformer automatiquement avant l'insertion, mais il n'y arrive pas.

Enlève donc les quotes entourant MIC dans ta partie values.
++
0
merci mec tu ma vraiment aider
0