[JSP] pb insérer données formulaire ds access
Eric Le Donge
-
jalal -
jalal -
Bonjour les programmeurs!
Voilà j'ai un ptit problème, jvoudrais insérer les données d'un formulaire dans un table access.
Page de formulaire:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Formulaire</title>
<style>
p {font-family:verdana;font-size:12px;}
</style>
</head>
<body>
<p>
Formulaire
<form action="traitement.jsp" method="post">
Titre : <input type="text" name="titre">
<br>
Numéro : <input type="text" name="numero">
<br>
Auteur : <input type="text" name="auteur">
<br>
Genre : <input type="text" name="genre">
<br><br>
<input type="submit" name="Soumettre">
</form>
</p>
</body>
</html>
page de traitement :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page import="java.sql.*" %>
<html>
<head>
<title>Connection à une base de donnée</title>
</head>
<body>
<%
String Titre=request.getParameter("titre");
String Numero=request.getParameter("numero");
String Auteur=request.getParameter("auteur");
String Genre=request.getParameter("genre");
%>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:japon");
Statement stmt=con.createStatement();
stmt.executeUpdate("INSERT INTO manga VALUES("+Titre+", "+Numero+","+Auteur+","+Genre+");");
con.close();
%>
Fermeture
</body>
</html>
Réponse du serveur:
javax.servlet.ServletException: [Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramètres. 3 attendu.
pourtant ma table ne contient bien que ces 4 champs titre, numero, auteur et genre. J'ai réussit à y faire des insertion directe sans passer par des formulaire mais directement par du code jsp.
A mon avis le pb se situe à la ligne :
stmt.executeUpdate("INSERT INTO manga VALUES("+Titre+", "+Numero+","+Auteur+","+Genre+");");
si je met
stmt.executeUpdate("INSERT INTO manga(titre,numero,auteur,genre) VALUES("+Titre+", "+Numero+","+Auteur+","+Genre+");");
c pareil...
Je suis paumé...
Aidez-moi!
Voilà j'ai un ptit problème, jvoudrais insérer les données d'un formulaire dans un table access.
Page de formulaire:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Formulaire</title>
<style>
p {font-family:verdana;font-size:12px;}
</style>
</head>
<body>
<p>
Formulaire
<form action="traitement.jsp" method="post">
Titre : <input type="text" name="titre">
<br>
Numéro : <input type="text" name="numero">
<br>
Auteur : <input type="text" name="auteur">
<br>
Genre : <input type="text" name="genre">
<br><br>
<input type="submit" name="Soumettre">
</form>
</p>
</body>
</html>
page de traitement :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page import="java.sql.*" %>
<html>
<head>
<title>Connection à une base de donnée</title>
</head>
<body>
<%
String Titre=request.getParameter("titre");
String Numero=request.getParameter("numero");
String Auteur=request.getParameter("auteur");
String Genre=request.getParameter("genre");
%>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:japon");
Statement stmt=con.createStatement();
stmt.executeUpdate("INSERT INTO manga VALUES("+Titre+", "+Numero+","+Auteur+","+Genre+");");
con.close();
%>
Fermeture
</body>
</html>
Réponse du serveur:
javax.servlet.ServletException: [Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramètres. 3 attendu.
pourtant ma table ne contient bien que ces 4 champs titre, numero, auteur et genre. J'ai réussit à y faire des insertion directe sans passer par des formulaire mais directement par du code jsp.
A mon avis le pb se situe à la ligne :
stmt.executeUpdate("INSERT INTO manga VALUES("+Titre+", "+Numero+","+Auteur+","+Genre+");");
si je met
stmt.executeUpdate("INSERT INTO manga(titre,numero,auteur,genre) VALUES("+Titre+", "+Numero+","+Auteur+","+Genre+");");
c pareil...
Je suis paumé...
Aidez-moi!
5 réponses
-
vaut mieux tard que jamais ... ;-)
-
Salut Eric!
Essaye en remplaçant cette ligne:
stmt.executeUpdate("INSERT INTO manga(titre,numero,auteur,genre)
VALUES("+Titre+", "+Numero+","+Auteur+","+Genre+");");
par celle-ci (remplacement des doubles guillemets par des simples):
stmt.executeUpdate("INSERT INTO manga(titre,numero,auteur,genre) VALUES('+Titre+', '+Numero+','+Auteur+','+Genre+');");
... et ça devrait marcher.
HackTrack ;-) -
Essaye en remplaçant cette ligne:
stmt.executeUpdate("INSERT INTO manga(titre,numero,auteur,genre)
VALUES("+Titre+", "+Numero+","+Auteur+","+Genre+");");
par celle-ci (remplacement des doubles guillemets par des simples):
stmt.executeUpdate("INSERT INTO manga(titre,numero,auteur,genre) VALUES('"+Titre+"', '"+Numero+"','"+Auteur+"','"+Genre+"') ");
... et ça devrait marcher. -
bonjour
jai un tableau qui comporte les champ du base Mysql et les champs de base access mé j'ai un probleme c comment je peut faire pour afficher les types du champs de chaque contenu de base -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
SVP si kelk1 peut m'aider ?? comment insérer des valeurs dans une table avec jsp sous formulaire