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

JDBC Java Discussion :

prepared statement ?


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 35
    Points : 17
    Points
    17
    Par défaut prepared statement ?
    bonjour j'utilise un petit bout de code afin dinteroger ma base de données :
    je rentre un nom d'artiste le code me retourne les titre de ces albums cependants j'ai un probleme notament pour les accents apostrophes et autre erreur de saisi du nom de l'artiste voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ("jdbc:postgresql://localhost/entraineur","*","*");
             System.out.println("connexion reussi");
               Scanner clavier = new Scanner(System.in);
            System.out.println("Entrer un artiste:");
           n = clavier.nextLine();
            String sql =("select titre from cd where artiste ='"+n+"'")  ;
              Statement pst = con.createStatement();
              ResultSet rset = pst.executeQuery(sql); 
              while (rset.next ()){ 
    System.out.println(rset.getString ("titre"));
    il me faut une idée pour geré lé erreur de syntaxe merci beaucoup

  2. #2
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    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
    Points : 2 232
    Points
    2 232
    Par défaut
    Tu donne la réponse dans ton titre, il faut utiliser un PreparedStatement. Je t'invite à faire un tour dans la FAQ pour voir comment ça s'utilise.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 35
    Points : 17
    Points
    17
    Par défaut
    oui d'accord je comprend l'utilisation des prepared statement cependant le paramaetre de la requete pré compilé du prepared statement, en l'occurence le nom de l'artiste peut tj comporter une faute de saisi de l'utilisateur alors comment faire?

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    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
    Points : 2 232
    Points
    2 232
    Par défaut
    L'utilisation du PreparedStatement te permettra de régler les problèmes d'apostrophes. Par contre si l'utilisateur fais une erreur de saisie tu ne retrouvera pas l'artiste dans la base.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Il s'agit d'utiliser le PreparedStatement correctement.
    Je suppose (d'après une de tes réponses) que tu tentes un truc comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PreparedStatement pstmt = connection.prepareStatement("select titre from cd where artiste='" + n + "'");
    Il faut l'utiliser comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    PreparedStatement pstmt = connection.prepareStatement("select titre from cd where artiste = ?");
    pstmt.setString(1, n);
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 35
    Points : 17
    Points
    17
    Par défaut
    merci beaucoup!!!!

Discussions similaires

  1. PREPARED STATEMENTS avec MS ACCESS sous Delphi 2007
    Par cobol60 dans le forum Bases de données
    Réponses: 1
    Dernier message: 13/12/2007, 08h59
  2. [ASE]Grand nombre de prepared statements et commit final
    Par Hansel dans le forum Adaptive Server Enterprise
    Réponses: 2
    Dernier message: 28/11/2007, 15h42
  3. prepared statement et like %?%
    Par pigpen dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/06/2007, 14h05
  4. Prepared statement et sequence
    Par RR instinct dans le forum JDBC
    Réponses: 2
    Dernier message: 23/01/2007, 08h38
  5. Réponses: 1
    Dernier message: 12/05/2006, 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