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/xh [...] ">
<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/xh [...] ">
<%@ 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!