Insertion table java/oracle
Résolu
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
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
1 réponse
-
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.
++