Insertion en JAVA un float dans une BD ORACLE

Silivia -  
naima0104 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -
Salut les amis, je récuprère en java une valeur de type Float d'une base de données ORACLE comme le suivant:
float Pri = Selct.getFloat(4);

Mon problème ce quand j'insère de nouveau la valeur Pri dans la base de donnés ORACLE me donne l'erruer suivant: org.apache.jasper.JasperException: ORA-01722: invalid number.
Je ne sais pas pourquoi mais pour les autres champs il n'y a pas de problème. Le voila mon bout de code:

<%@ page language="Java" import="java.sql.*"%>
<%@ include file="Connexion.jsp"%>
<%
String NumCommande = request.getParameter("NumCommande");

String SQL = "SELECT * FROM PRODUIT where NUMPRODUIT='"+NumCommande+"'" ;
Statement unSQL = conn.createStatement();
ResultSet Selct = unSQL.executeQuery(SQL);


while (Selct.next ()){

String Num = Selct.getString(1);
String Type = Selct.getString(2);
String Marque = Selct.getString(3);
float Pri = Selct.getFloat(4);

int xy = Selct.getInt(5);

String SQLUpdate= "UPDATE PRODUIT SET QUANTITEDISP= QUANTITEDISP+1 WHERE NUMPRODUIT = '"+Num+"' ";
ResultSet Upda = unSQL.executeQuery(SQLUpdate);

String SQLInsert= "INSERT INTO COMMANDE VALUES ('"+Num+"', '"+Type+"', '"+Marque+"', '"+Pri+"' , '"+xy+"')";
ResultSet Inser = unSQL.executeQuery(SQLInsert);

Inser.close();
Upda.close();
};
Selct.close();
unSQL.close();

// response.sendRedirect("http://www.labunix.uqam.ca:8181/~hh691496/JSP/ListeProduits.jsp");
%>

Merci beaucoup pour votre aide.
Silvia.
A voir également:

1 réponse

jtrain
 
Salut,

J'ai à peu près le même prb que toi. Pour moi, c'est l'insertion d'une date qui pose prb:

// Date du jour
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
java.sql.Date date = sdf.format(c.getTime());

System.out.println("la date est" +date);

//Insertion de l'information dans la base
query = "INSERT INTO information VALUES('','"+traitementChaine(InfoGroupe)+"','"+date+"')";
System.out.println(query);

En fait le premier System.out affiche la bonne date, le second qui affiche la query, on retrouve rien à la place de date....!!!!

SOS,
0
naima0104 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
Salut
et si tu ajoute à la date :
query = "INSERT INTO information VALUES('','"+traitementChaine(InfoGroupe)+"','"+"to_char("+date+","+"'YYYY-MM-DD')"+"')";
0