[JSP] pb insérer données formulaire ds access

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!

5 réponses

  1. Modérateur
    vaut mieux tard que jamais ... ;-)
    1
    1. 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 ;-)
      0
      1. 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.
        0
        1. 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
          0
          1. SVP si kelk1 peut m'aider ?? comment insérer des valeurs dans une table avec jsp sous formulaire
            0