(debutant) recup d'une variable et insertion ds un requete SQL
snatch12
Messages postés11Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention28 août 2003
-
19 juin 2003 à 15:09
imanebachiri -
18 mai 2013 à 23:08
bonjour tous :)
voila je souhaite inserer ds une requete SQL(INSERT) une variable "nom" recuperée d'un formulaire utilisateur
voila le source que j'utilise pour la requete INSERT
-------------------------------------------------------
<!-- appel de la connexion -->
<% Connection con = DriverManager.getConnection(url,user,password); %>
<!-- recup de la variable "nom" saisi par l'utilisateur -->
<% String nomsaisi = request.getParameter("nom"); %>
<!-- la requète SQL -->
<!-- c'est ICI !!! que ca marche pas la valeur rentrée ds ma base est : + nomsaisi + -->
<% String queryString ="insert into test1 (nom,prenom,type,dpt) values (' + nomsaisi + ','testprenom','testtype','testdpt')"; %>
snatch12
Messages postés11Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention28 août 2003 20 juin 2003 à 09:41
bonjour Mr Duss :)
en fait ca me crée une erreur cette syntaxe :(
voila l'erreur générée, je sais que en php c'est possible de faire ca, mais en jsp apparement ca passe pas :(
---------------------------------------------
description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: An illegal character has been found in the statement.
---------------------------------------------
sinon j'avais trouvé une variante hier, mais g toujour un soucis :
dans ma Bdd j'ai une table et 4 colonnes
3 définies en Char et une en Integer (le "type" est en Integer)
la formule ci dessous marche tres bien pour les prep.setString, (les données utilisateur sont bien insérées dans la base) mais j'arrive pas a entrer ma donnée prep.setInt --> erreur il lit ca comme un string et meme avec un cast ca marche pas :(
voila la scriplet
--------------------------
PreparedStatement prep = con.prepareStatement("insert into test1(type,dpt,nom,prenom) values (?, ?, ?, ?)");
prep.setInt(1, request.getParameter("type"));
prep.setString(2, request.getParameter("dpt"));
prep.setString(3, request.getParameter("nom"));
prep.setString(4, request.getParameter("prenom"));
prep.executeUpdate();
------------------------------
voila, je pensais avoir resolu mon probleme....... :(
snatch12
Messages postés11Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention28 août 2003 20 juin 2003 à 11:33
-------------------------------
Réponse au message :
-------------------------------
> salut,
> ben tu fais un
> prep.setInt(1, Integer.parseInt(request.getParameter("type")));
> Duss
ca me crée aussi une erreur !!
----------------------
java.lang.NumberFormatException: For input string: "20
"
----------------------
je comprend pas...
poutant ds ma bdd informix, la colonne est bien définie en integer......
o fait francois, je suis un des gars de l'afpa, a qui tu as donné des cours UML il y a peu de temps (section de francoise Clary ) ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Bonjour tout le monde,
j'ai le même problème ma requête :
ResultSet resultat=state2.executeQuery("select nomencadrant from encadrantexterne where matriculee = '"+num+"'"); avec num un [b]entier
/b merci d'avance pour vos réponses .