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

Requêtes MySQL Discussion :

prepared statement et like %?%


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Par défaut prepared statement et like %?%
    Bonjour,

    un problème de syntaxe a vous soumettre
    je travail en java, je souhaite faire la requête suivante mais ca ne focntionne pas ...

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     public LinkedHashMap effectuerRecherche(String mot){
            AdherentBDD adherentBDD = new AdherentBDD(this.request, this.response, this.con);
     
     
            LinkedHashMap map = new LinkedHashMap() ;
            PreparedStatement st ;
            try {
                //on crée le client
                if(mot.length() != 0){
                    st = c.prepareStatement("SELECT * FROM projet.inscription i , projet.adherent a"+
                            "where i.adherent_id_adherent = a.id_adherent "+
                            " and ( a.nom_adherent like ?  "+
                            " or a.prenom_adherent like ?  "+
                            " or a.num_licence like ?  ) " );
                }else{
                    st = c.prepareStatement("SELECT * FROM projet.inscription i , projet.adherent a "+
                            "where i.adherent_id_adherent = a.id_adherent "+
                            " and ( a.nom_adherent like \"%\" "+
                            " or a.prenom_adherent like \"%\"  "+
                            " or a.num_licence like \"%\"  )" );
     
                }
     
                if(mot.length() != 0){
                    st.setString(1, "%"+mot+"%");
                    st.setString(2, "%"+mot+"%");
                    st.setString(3, "%"+mot+"%");
                }
                ResultSet rs = st.executeQuery();
     
                while(rs.next()){
                    AdherentModel ad = adherentBDD.getAdherentbyID(rs.getInt("id_Adherent"));
                    if(!map.containsKey(ad)){
                        map.put(ad, new LinkedList());
                    }
     
                    InscriptionSimplifie i = new InscriptionSimplifie();
                    i.setId_inscription(rs.getInt("id_inscription"));
                    i.setType(this.getTypeInsription(i.getId_inscription()));
     
                    if(i.getType() == 2 ){
                        i.setNom(this.getNomStage(i.getId_inscription()));
                    }
     
                    String annee ="";
                    if(rs.getDate("date_inscription").getMonth() <12){
                        annee += (rs.getDate("date_inscription").getYear())+" - "+(rs.getDate("date_inscription").getYear()+1);
                    }else{
                        annee += (rs.getDate("date_inscription").getYear()-1)+" - "+(rs.getDate("date_inscription").getYear());
                    }
                    i.setAnnee(annee);
     
                    ((LinkedList)map.get(ad)).add(i);
     
                }
     
            }catch(Exception e) {
                this.afficherException(e);
            }
     
            return map ;
        }
    est ce que j'ai fait une faute grossiere que je n'arrive plsu a voir ?

    merci d'avance.

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    ca ne fonctionne pas?
    et plus précisément?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Par défaut
    il me dit juste qu'il y a une erreur de syntax mais je ne sais pas laquel ... a priori autour des "%"

Discussions similaires

  1. [proc sto][prepared statement]passer un nom de base en parametre
    Par hansaplast dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 16/01/2008, 01h09
  2. 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
  3. [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
  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