IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Insertion dans une BDD


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 30
    Par défaut Insertion dans une BDD
    Bonjour,

    j'ai crée un petit formulaire Nom & Prenom

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    <form action="index.jsp" method="post">
    <table>
    <tr>
    <th>Nom :</th><td> <input type="text" name="nom" > </td>
    </tr>
    <tr>
    <th>Prenom :</th><td><input type="text" name="nome" ></td>
    </tr>
    </table><br><br>
    <input type="submit" >
    <input type ="reset">
    </form>

    puis je récupère les données envoyées à travers l'objet request :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <%
    String name = request.getParameter("nom");
    String lastname = request.getParameter("nome");
    %>
    ensuite j'essaie d'etablir une conenxion grace au pool de connexion Mysql Connector 3.0.17.ga.bin.jar

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <%@ page import="java.sql.*" %>
     
    <%
    Class.forName("com.mysql.jdbc.Driver");
    String URL = "jdbc:mysql://local/personne?user=root";
    Connection con = DriverManager.getConnection(URL);
    Statement stm = con.createStatement(); 
    stm.executeQuery("insert into person(nom,prenom) values (name,lastname)");
    %>
    mais ca fonctionne pas et j'ignore ou subsiste le problème dois je développer plus mon code...
    Developpez, Aidez moi

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 71
    Par défaut
    Salut anonyme13,

    je pense que tu devrais utiliser un PreparedStatement au lieu d'un Statement (Ce qui te permettra de faire des requêtes SQL paramétrées)

    en gros ça donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    String sql = "insert into person(nom,prenom) values (?,?)"
    PreparedStatement statement = con.prepareStatement(sql);
     
    statement.setStringl(1,nom);
    statement.setStringl(2,lastname);
     
    statement.executeUpdate();
    +++

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Par défaut
    bonjour tout le monde,

    tu peux essayer avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <%@ page import="java.sql.*" %>
     
    <%
    try
    {
    Class.forName("com.mysql.jdbc.Driver");
    }
    catch(SQLException e)
    {
    System.out.println("Impossible nn charge");
    }
    String URL = "jdbc:mysql://localhost:3306(port)/nombasedonne";
    try
    {
     
    java.sql.Connection con = DriverManager.getConnection(URL,user,password);
    Statement stm = con.createStatement(); 
    stm.executeQuery("insert into person(nom,prenom) values ("+name+","+lastname+")");
    }
    catch(Exception e)
    {
    System.out.println(e);
    }
     
    %>

  4. #4
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 30
    Par défaut
    Citation Envoyé par rafikfree Voir le message
    bonjour tous le monde,

    t peux essayer avec :

    <%@ page import="java.sql.*" %>

    <%
    try
    {
    Class.forName("com.mysql.jdbc.Driver");
    }
    catch(SQLException e)
    {
    System.out.println("Impossible nn charge");
    }
    String URL = "jdbc:mysql://localhost:3306(port)/nombasedonne";
    try
    {

    java.sql.Connection con = DriverManager.getConnection(URL,user,password);
    Statement stm = con.createStatement();
    stm.executeQuery("insert into person(nom,prenom) values ("+name+","+lastname+")");
    }
    catch(Exception e)
    {
    System.out.println(e);
    }

    %>
    ca fonctionne pas d'autre solution ...
    en faite je souhaite associer l'insertion a un button..click insertion faite!
    en gros attribuer le script comme évènement pour un buttun ??

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 500
    Par défaut
    Citation Envoyé par anonyme13 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <%@ page import="java.sql.*" %>
     
    <%
    Class.forName("com.mysql.jdbc.Driver");
    String URL = "jdbc:mysql://local/personne?user=root";
    Connection con = DriverManager.getConnection(URL);
    Statement stm = con.createStatement(); 
    stm.executeQuery("insert into person(nom,prenom) values (name,lastname)");
    %>

    essaye ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <%@ page import="java.sql.*" %>
     
    <%
    Class.forName("com.mysql.jdbc.Driver");
    String URL = "jdbc:mysql://local/personne?user=root";
    Connection con = DriverManager.getConnection(URL);
    Statement stm = con.createStatement(); 
    String monNom = request.getparameter("nom");
    String monPrenom = request.getParameter("nome");
    stm.executeQuery("insert into person(nom,prenom) values ("+monNom+","+monPrenom+")");
    %>

    tu as des erreurs ? dans ta Bdd quelque chose a été inseré? (un champ null?)


    Pour ce qui est d'affecter ton insertion à un click , suffit de mettre une input de type submit, et ton traitement tu le fais dans une servlet, par exemple:

    dans ta jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form method="POST">
    <input type=submit name="insertionBdd" value="Ajouter" />
    </form>
    dans la methode Post de ta servlet:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(request.getParameter("insertionBdd") != null){
         traitement sur ta base + redirection 
    }

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 75
    Par défaut
    Je complète ce que erox44 à dit par rapport à l'input de type submit :

    <form method="POST">
    <input type=submit name="insertionBdd" value="Ajouter" />
    </form>
    il faudra associer une servlet à ce clic avec l'attribut "action", donc, dans ta jsp t'aura plus exactement ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form method="POST" action="<%= request.getContextPath() %>/nomDeTaServlet">
    <input type=submit name="insertionBdd" value="Ajouter" />
    </form>
    Ensuite (dans mon cas), je définit la configuration de mes servlets dans le fichier web.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <servlet>
            <servlet-name>NomDeTaServlet</servlet-name>
            <servlet-class>com.servlet.NomDeTaServlet</servlet-class>
        </servlet>
     
    ...
     
     <servlet-mapping>
            <servlet-name>NomDeTaServlet</servlet-name>
            <url-pattern>/nomDeTaServlet</url-pattern>
        </servlet-mapping>

    ++@

  7. #7
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 30
    Par défaut
    bonjour,

    après beaucoup d'essaie et plusieurs galère je me retrouve face à cette error :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Communications link failure Last packet sent to the server was 0 ms ago.
    Developpez, Aidez moi!

  8. #8
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 30
    Par défaut
    Citation Envoyé par anonyme13 Voir le message
    bonjour,

    après beaucoup d'essaie et plusieurs galère je me retrouve face à cette error :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Communications link failure Last packet sent to the server was 0 ms ago.
    Developpez, Aidez moi!
    pourtant j'ai ajouté le JAR {Mysql connector 5.1} à la classPath et mon serveur mysql fonctionne très bien je travaille sous [ZazouMiniWebserver ], mais j'ignore la source de l'erreur enfin ce problème est liée avec quoi...??!!

Discussions similaires

  1. [Wamp] Insertion dans une bdd sur laptop
    Par beencss dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 08/02/2007, 15h59
  2. [VB6/mysql]:Problème d'insertion dans une bdd
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/06/2006, 10h15
  3. [Conception] Pb d insertion dans une BDD des données d un formulaire
    Par xtiand4 dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 02/06/2006, 18h18
  4. [debutant]insertion dans une BDD
    Par EssaiEncore dans le forum ASP
    Réponses: 7
    Dernier message: 10/02/2005, 14h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo