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 :

requete sql + jsp


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 64
    Par défaut requete sql + jsp
    re tout le monde,

    Dites moi s'il vous plait, j'ai un formulaire dans une page jsp, je récupère la valeur d'un champs nom avec un "request.getparameter("nom")" ensuite je le mets dans une string "nom". quand je veux inserer ce champs dans une table de ma BD qui contient (id, nom) je fais ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql.excecuteQuery("insert into ma_table(id,nom) values(' ',nom)");
    le champs n'est pas inséré dans la base, y aurait-il une erreur dans la syntaxe sql ???

    pourtant un simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql.excecuteQuery("insert into ma_table(id,nom) values(1,'Pierre')");
    insère bien le champq dans la base !

    merci pour votre aide

  2. #2
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Tu dois faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql.excecuteQuery("insert into ma_table(id,nom) values(' ','" + nom + "')")

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 64
    Par défaut
    merci pour ta réponse mais ça marche pas
    toujours la meme chose ma requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql.excecuteQuery("insert into ma_table(id,nom) values(1,'Pierre')");
    insère bien le champs dans la table, par contre celle là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql.excecuteQuery("insert into ma_table(id,nom) values(' ','" + nom + "')")
    ne fais rien , pourtant qd j'affiche la valeur saisie de mon chanps elle bien bonne c'est exaspérant ..auriez-vous une idée s'il vous plait

    Merci d'avance.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 77
    Par défaut
    Bonjour,

    Avez-vous affiché le message d'exception générer par mysql cela peut vous donnez une idée du problème?

    Pour le id, il faudrait spécifier sa valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql.excecuteQuery("insert into ma_table(id,nom) values(" + id + ",'" + nom + "')")
    -----
    Si id est un champ auto-incrémenté essayer en l'omettant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql.excecuteQuery("insert into ma_table(nom) values('" + nom + "')")

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 64
    Par défaut
    hey merciiiiiiiiiiiii beaucoup pour la réponse là ça marche !!!!
    Sinon est ce que tu peux me dire comment afficher l'erreur généré par une requete mysql en jsp s'il te plait?? un truc genre die(mysql_error) en php

    encore merci.

  6. #6
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Normalement ton code excecuteQuery est situé à l'intérieur d'un try catch pour récupérer les SQLException. Il te suffit d'afficher la trace d'erreur pour avoir le message d'erreur.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 63
    Par défaut
    Ce n'est pas vraiment une bonne façon de faire car en ajoutant directement les valeurs dans la chaîne de la requête, tu t'exposes à de gros problèmes.

    Si le nom contient un quote ? Cas typique de faille d'injection SQL.

    Il vaut mieux utiliser les PreparedStatement, laisser les paramètres avec des '?' dans la requête, puis les passer à l'exécution.

    Cela à aussi l'avantage que le serveur peut conserver la requête en cache et améliore les performances lors de nombreux appels d'une même requête.

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 64
    Par défaut
    ah ok merci!
    heuh... mais alors tu peux me dire comment faire en ligne de code, j'ai pas l'habitude de travailler avec JSP. la requete optimisée serait quoi exactement dans ce cas là ??

    merci !!!!

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 77
    Par défaut
    Bonjour,

    Voici un lien pour de l'information à ce sujet :

    http://java.developpez.com/faq/jdbc/...paredstatement

  10. #10
    Nouveau membre du Club
    Inscrit en
    Août 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 5
    Par défaut
    Salut tout le monde,
    en faite l'erreur dés le debut etait de mettre la valeur null dans un chanps clés primaire(id) de la table(ma_table).

Discussions similaires

  1. requete sql JSP
    Par franfr57 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 03/11/2008, 10h01
  2. erreur requete SQL dans une JSP
    Par shada dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 25/08/2008, 14h57
  3. [JSP] Alimenter TEXTAREA depuis requete SQL
    Par Bikra dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 26/06/2008, 10h37
  4. Comment executer une requete sql delete dans une jsp ?
    Par DarkWark dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 24/05/2006, 16h59
  5. résultat d'une requete SQL dans un tableau en JSP
    Par Paradoxys dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 06/04/2005, 16h17

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