pb insérer données formulaire ds access [JSP] - Programmation
Marsh Posté le 30-12-2001 à 09:41:22
Ca n'a rien à voir mais tu ne dois faire aucun traitement au niveau JSP. Laisse un composant backend faire les business processes (genre un JavaBean qui représente un manga). Ce sera bcp plus propre.
Recopie ce code dans une classe normale et execute là. Ainsi tu pourras voir ou le probleme se pose. Moi je pense bien que c'est le getConnection qui foire. Mais ca fait longtemps que j'ai plus fait de l'odbc ...
A+
Marsh Posté le 29-12-2001 à 19:31:09
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!