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 :

Probleme Transformation Requete Access en Requete Sql sous Java


Sujet :

JDBC Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Par défaut Probleme Transformation Requete Access en Requete Sql sous Java
    Bonjour,

    j'ai une requete Access que je veux la transformer et l'executer en java, cette requete contient une sous requete, j'arrive pas a transformer la requete SQL en java, voici la requete en Access :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     SELECT [union adherent 2].cd, [union adherent 2].nom, [union adherent 2].dm1, [union adherent 2].cg, [union adherent 2].cc, HSINI.MB, HSINI.TNO, HSINI.NSQ, [union adherent 2].cb
     
    FROM HSINI INNER JOIN [union adherent 2] ON HSINI.CD = [union adherent 2].cd
     
    WHERE ((([union adherent 2].dm1) Is Not Null) AND (([union adherent 2].cg) Is Not Null) AND (([union adherent 2].cc) Is Not Null) AND ((HSINI.TNO)>"100509000") AND (([union adherent 2].cb) Is Not Null) AND (([union adherent 2].rb) Is Not Null) AND (([union adherent 2].dm2) Is Not Null) AND ((HSINI.DMH)=#5/10/2009#));
    le code de la sous requete [union adherents 2] le voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select cd, dta, co, cv, civ, nom, ad1, ad2, cp, vl, tl, aut, pr, dm1, dm2, cb, cg, cc, rb
    from nadh
     
    UNION select cd, dta, co, cv, civ, nom, ad1, ad2, cp, vl, tl, aut, pr, dm1, dm2, cb, cg, cc, rb
    from hnadh;
    Comment faire cette requete en Java ?

    Merci pour votre aide

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Par défaut
    Bonjour
    Tu ne peux pas transposer facilement ce type de requête. Le plus simple est de passer par une table temporaire, laquelle contiendra ta sous requête.
    Puis faire une rqte qui reprendra les 2 tables avec la jointure adéquate.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Par défaut
    Citation Envoyé par Mengué georges Voir le message
    Bonjour
    Tu ne peux pas transposer facilement ce type de requête. Le plus simple est de passer par une table temporaire, laquelle contiendra ta sous requête.
    Puis faire une rqte qui reprendra les 2 tables avec la jointure adéquate.
    J'ai esseyer de faire ca, voici le code correspondant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    String req1 = "CREATE VIEW Union (cd, dta, co, cv, civ, nom, ad1, ad2, cp, vl, tl, aut, pr, dm1, dm2, cb, cg, cc, rb)" +
    		" As SELECT cd, dta, co, cv, civ, nom, ad1, ad2, cp, vl, tl, aut, pr, dm1, dm2, cb, cg, cc, rb from nadh "+
    		"UNION select cd, dta, co, cv, civ, nom, ad1, ad2, cp, vl, tl, aut, pr, dm1, dm2, cb, cg, cc, rb from hnadh;";
     
    		String req2 = "SELECT t1.cd, t1.nom, t1.dm1, t1.cg, t1.cc, t2.MB, t2.TNO, t2.NSQ, t1.cb"
    				+ " FROM Union t1, HSINI t2"
    				+ " WHERE (t1.cd=t2.cd) AND ((t1.dm1) Is Not Null) AND ((t1.cg) Is Not Null) AND ((t1.cc) Is Not Null) AND ((t2.TNO)>'100509000') AND ((t1.cb) Is Not Null) AND ((t1.rb) Is Not Null) AND ((t1.dm2) Is Not Null) AND ((t2.DMH)='5/10/2009');";
     
    stt.executeQuery(req1);
    ResultSet rs = stt.executeQuery(req2);
    mais j'ai eu cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [Microsoft][Pilote ODBC Microsoft Access]Erreur de syntaxe ou violation d'accès

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Par défaut
    Il faudrait plus de détail sur l'erreur: est-ce la rqte 1 ou 2

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Par défaut
    Citation Envoyé par Mengué georges Voir le message
    Il faudrait plus de détail sur l'erreur: est-ce la rqte 1 ou 2
    c'est la requete 1, je crois que c'est a cause que j'ai pas les droit d'administrateur.

    J'ai mis un autre poste pour une autre solution.

Discussions similaires

  1. [Débutant] probleme de sélection de champs en sql sous vb
    Par mEk42 dans le forum VB.NET
    Réponses: 1
    Dernier message: 19/06/2013, 18h38
  2. transformer tables ACCESS en My SQL
    Par hugodu28 dans le forum Débuter
    Réponses: 1
    Dernier message: 22/11/2012, 10h42
  3. Problème d'exécution d'une requête sql sous java
    Par leshafid dans le forum Requêtes
    Réponses: 1
    Dernier message: 18/08/2010, 09h15
  4. Requete Access et Véritable SQL
    Par hugo69 dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 26/05/2008, 14h22
  5. Réponses: 8
    Dernier message: 11/08/2006, 09h30

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