(debutant) recup d'une variable et insertion ds un requete SQL

Signaler
Messages postés
11
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
28 août 2003
-
 imanebachiri -
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')"; %>

<%
Statement stmt = con.createStatement();
stmt.executeUpdate(queryString);
%>
-------------------------------

j'ai esayer pleins de trucs et impossible de rentrer la donnée utilisateur ds ma requete.

9 réponses

Messages postés
890
Date d'inscription
lundi 8 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2004
12
salut,
<% String queryString ="insert into test1 (nom,prenom,type,dpt) values (' "+ nomsaisi + "','testprenom','testtype','testdpt')"; %>
Duss
Messages postés
11
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
28 août 2003

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....... :(
Messages postés
890
Date d'inscription
lundi 8 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2004
12
salut,
ben tu fais un
prep.setInt(1, Integer.parseInt(request.getParameter("type")));
Duss
Messages postés
11
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
28 août 2003

-------------------------------
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 ) ;)
Messages postés
890
Date d'inscription
lundi 8 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2004
12
ben la c est pas normal du tout !!
tu n as pas d autres caracteres que 20 dans ton string ?
par exemple un retour a la ligne ou autre ?
Duss
Messages postés
11
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
28 août 2003

ben ca devait être ca, je vois pas autre chose non plus...

En fait je me suis retapé tout le code et la maintenant ca marche !!! :)
raaaa les mysteres de l'informatique !! :p

lool !! en tout K, Merci pour le coup de main, je commencais a désespérer ...
bon week end.;)
Messages postés
6
Date d'inscription
lundi 14 avril 2003
Statut
Membre
Dernière intervention
19 janvier 2007

voici un exemple et sur ca va marcher


String query" SELECT ID_DIR FROM UTILISATEUR WHERE ID_USER '" + id + "'" ; id c'est la var bien sur
have a nice day

Open mind for the different view....libirate yourself
Messages postés
6
Date d'inscription
lundi 14 avril 2003
Statut
Membre
Dernière intervention
19 janvier 2007

voici un exemple et sur ca va marcher


String query" SELECT ID_DIR FROM UTILISATEUR WHERE ID_USER '" + id + "'" ; id c'est la var bien sur
have a nice day

Open mind for the different view....libirate yourself

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 .