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 :

caractère * d'Access en java


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2016
    Messages : 33
    Points : 19
    Points
    19
    Par défaut caractère * d'Access en java
    Bonjour, j'exécute la requête suivante sous access:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT DISTINCT ([Ville].Localité),[Ville].Code_postal
    FROM Client LEFT JOIN Ville ON Client.idVille=Ville.idVille
    WHERE ([Ville].Localité) Like [Quelle ville?] & '*';
    et j'aimerais la transposer sous java (netbeans). Mais il semble que le '*' ne soit pas admis en Java . Quelle est la solution pour que je puisse bénéficier des propriétés du * de la requête access sous java? Merci de votre aide

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    Salut,
    Je peux essayer de t'aider malgré que je ne suis pas un as !

    Pourrais tu me traduire en français ce que ta requête est censé te donner comme résultat ?
    Je t'avoues ne pas comprendre la syntaxe du "& '*'"

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2016
    Messages : 33
    Points : 19
    Points
    19
    Par défaut
    Salut,
    Merci de ton intérêt! En réalité, la requête que je souhaite tester en java est beauuuuuuuuucoup plus grosse, donc j'ai mis une requête plus facile voire "bidon" pour focaliser sur ma question. En gros, le '*' te permet d'afficher les résultats (dans ce cas-ci toutes les villes de la table) même si tu ne "réponds" rien à la question [Quelle ville?]. Dans ma vraie requête, je souhaiterais demander le nom d'un client (obligatoire) et son prénom (facultatif). Donc si à [Quel nom?] on répond "Dupont" et à [Quel prénom?] on répond "Jean" , il doit afficher "Dupont Jean" et si à [Quel nom?] on répond "Dupont" et à [Quel prénom?] on répond rien (on appuie direct sur OK) , il doit afficher "Dupont Jean", "Dupont Pierre", "Dupont Marc",... bref tous les nommés Dupont. J'espère que ça t'aidera à m'aider

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    Bon, toujours dans l'optique de bien comprendre, tu fais en fonction de ta variable ET on affiche quand même toutes les villes ?

    Je partirais sur un truc comme ca (mes jointures sont pas belles mais elle fonctionnes )
    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
    SELECT 
    	DISTINCT Ville.Localité
    	,Ville.Code_postal
    FROM 
    	Client
    	, Ville
    WHERE
    	Client.idVille = Ville.idVille  /* Ma jointure pas belle*/
    AND
    	Ville.Localité = TaVariableVille
    UNION
    SELECT 
    	*
    FROM 
    	Ville

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2016
    Messages : 33
    Points : 19
    Points
    19
    Par défaut
    C'est pas vraiment que tu affiches tout quand même: c'est que SI tu ne rentres pas de nom de ville, il t'affiche toutes les villes mais SI tu réponds "Paris" à [quelle ville?], il n'affiche QUE PARIS (si Paris est dans la table,bien sûr). En fait, c'est """une requête trou de mémoire""" si tu vois ce que je veux dire

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2016
    Messages : 33
    Points : 19
    Points
    19
    Par défaut
    La requête que tu fonctionnes affiche effectivement toutes les villes de la table client, qu'on insère soi-même le nom d'une ville particulière ou pas. Dans le cas où on n'encode aucune ville soi-même, c'est bien ce que je souhaite afficher mais dans le cas où je tape "Paris", je veux qu'il ne m'affiche QUE Paris

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 340
    Points : 31
    Points
    31
    Par défaut
    A ce moment là, je ferais une condition :
    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
    if(jTextField.getText() != "")
    String variable = (String) jTextFieldVille.getText();
            try {
                Connexion connexion     = new Connexion(); //je pense que cette partie est créer par tes soins...
                PreparedStatement ps    = connexion.getConnexion().prepareStatement("" +
                    "SELECT "+
    	             "DISTINCT Ville.Localité "+
    	             ",Ville.Code_postal "+
                     "FROM "+
    	             "Client "+
    	             ", Ville " +
                      "WHERE "+
    	              "Client.idVille = Ville.idVille "+
                      "AND "+
    	               "Ville.Localité = ?;");
                ps.setString(1, variable );
                ResultSet resultats = ps.executeQuery(); 
            } catch (Exception e) {
                 e.printStackTrace();
            }
     } else {
    tonAutreRequêtes avec SELECT * FROM VILLE
    }
    Si la condition fonctionne pas, essaye la comparaison avec .equals()
    Je t'aide comme je peux

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2016
    Messages : 33
    Points : 19
    Points
    19
    Par défaut
    Merci j'ai trouvé et je te communique la solution car tu as essayé de m'aider . Il faut simplement remplacer * par % en Java et ça marche et je suis . Merci pour tes réflexions malgré tout ! Ps: si jamais tu sais, saurais-tu voir si tu sais répondre à ma q que j'ai posée sur le forum VisualBasic de MS-office stp? Merci!!

  9. #9
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    Il faut simplement remplacer * par % en Java
    C'est plutôt que Access est le seul à utiliser une * à la place du % qui est la norme pour le SQL.
    Ceci n'est pas propre à java. On retrouve % dans SQL Server, Oracle, MySql etc ...

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/08/2012, 05h32
  2. access denied (java.util.PropertyPermission java.io.tmpdir read)
    Par benyboyJAVA dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 12/01/2009, 11h12
  3. Accès refusé à BD Access par java
    Par Icefire dans le forum JDBC
    Réponses: 2
    Dernier message: 17/03/2008, 18h21
  4. caractère avec indice sous java
    Par hasnaouiwafa dans le forum AWT/Swing
    Réponses: 29
    Dernier message: 24/04/2007, 13h16
  5. Utilisation de Access via Java
    Par ArtOfWars dans le forum Access
    Réponses: 1
    Dernier message: 11/04/2007, 16h27

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