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

avec Java Discussion :

Problème d'affichage de données


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 94
    Points : 46
    Points
    46
    Par défaut Problème d'affichage de données
    Bonjour à tous,
    J'ai un soucis avec mon application au niveau de l'insertion des données.
    lorsque je rencontre une cote ( ' ) dans ma chaine de caractère il me génère une erreur. Je veux si il ya une autre fonction que getString pour saisir une chaine de caractère. merci d'avance...
    bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    while (rset.next()) {
     
            	valeur = rset.getString("PNumber");valeur1 = rset.getString("PDescript");
            	valeur2 = rset.getString("PStatus");valeur3 = rset.getString("PLocation");
     
    ...........
     
    if(!rset1.next())
        		{
        			stmt.executeUpdate("INSERT INTO `controle` (  `Localisation_panne` , `Num_ticket` , `statut_ticket`,`Description_Panne` )VALUE ( '"+ valeur3+"', '"+ valeur+"', '"+ valeur2+"', '"+ valeur1+"')");

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Il serait préférable d'utiliser des PreparedStatement!

    a++

  3. #3
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 94
    Points : 46
    Points
    46
    Par défaut
    a quel niveau faut il que je mette '/

  4. #4
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut
    le cote (') est un caractère spécial, tu dois l'échapper avec un \ devant.
    donc partout où tu as une chaîne contenant des cotes , tu remplace ' par \'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    stmt.executeUpdate("INSERT INTO \`controle\` (  \`Localisation_panne\` , \`Num_ticket\` , \`statut_ticket\`,\`Description_Panne\` ) ...//etc...
    Heureux soient les fêlés, car ils laisseront passer la lumière.

    Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par jojodu31 Voir le message
    le cote (') est un caractère spécial, tu dois l'échapper avec un \ devant.
    donc partout où tu as une chaîne contenant des cotes , tu remplace ' par \'
    Non les simples quotes n'ont pas à être protégé dans une chaine en Java...


    Le problème ne vient pas de Java mais de la requête SQL qui peut ne pas être conforme, ce qui provoque une erreur du SGBD...

    il faut utiliser des PreparedStatement !

    a++

  6. #6
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 94
    Points : 46
    Points
    46
    Par défaut
    j'arrive pas a inserer des données dans ma base avec Preparestament, j'ai procédé comme suite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Connection conn = null;
    .
    .
    .
    String sql = "INSERT INTO `controle` (  `Localisation_panne` ,`Num_ticket`,`statut_ticket`,`Description_Panne` )VALUE ( '"+ valeur3+"', '"+ valeur+"', '"+ valeur2+"', '"+ valeur1+"')";
        			PreparedStatement statement = conn.prepareStatement(sql);
    il n y a pourtant aucune erreur généré lors de la compilation

  7. #7
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Citation Envoyé par guy_antoine_mav Voir le message
    j'arrive pas a inserer des données dans ma base avec Preparestament, j'ai procédé comme suite:
    je ne suis pas sûr que la FAQ explique ça comme ça ...

    Bref,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Connection conn = null;
    //...
    String sql = "INSERT INTO controle (  Localisation_panne ,Num_ticket,statut_ticket,Description_Panne ) VALUES ( ?, ?, ?, ?)";
    PreparedStatement statement = conn.prepareStatement(sql);
    // voilà, maintenant tu donnes les valeurs aux paramètres ...
    // cf la FAQ
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

Discussions similaires

  1. [MySQL] Problème d'affichage de données
    Par oceane751 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 10/08/2008, 23h06
  2. [MySQL] Problème d'affichage des données!
    Par ghyosmik dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/09/2006, 15h43
  3. Problème d'affichage de données avec crystal report
    Par napegadie dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 07/12/2005, 15h45
  4. problème d'affichage de données
    Par geof_leouf dans le forum Access
    Réponses: 6
    Dernier message: 11/10/2005, 09h23
  5. [JTable] Problème d'affichage des données
    Par ddams dans le forum Composants
    Réponses: 2
    Dernier message: 15/09/2004, 17h07

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