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 :

PreparedStatement et Clause SQL FROM


Sujet :

JDBC Java

  1. #1
    Membre habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    Par défaut PreparedStatement et Clause SQL FROM
    Bonjour a tous !

    Lorsque j'écris un DAO j'ai pour habitude de laisser mes requêtes en début de classe dans des constantes String statiques du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private final static ma requete = "SELECT * FROM MaTable where CHAMPS = ?;";
    Bien sur un DAO porte sur une et une seule table en l'occurence ici "MaTable".

    Mais voila pour cette fois j'ai besoin de créer une requete qui génère une vue a partir de cette table et je voudrais utiliser les même methodes java qui execute mes PreparedStatement sur une table ayant un autre nom sachant que toutes les tables ont exactement la meme structure.

    Hors, avec les methodes setObject & compagnie de PreparedStatement, on peu setter toute sorte de parametres des clause Where, Set ou Group By mais je n'arrive pas a setter le nom de la table dans la clause FROM, du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private final static ma requete = "SELECT * FROM ? where CHAMPS = ?;";
    Y'a t-il une solution ou doisje écrire une methode specifique qui change ce nom et renvoie une String de la requete

    Merci de votre aide

    WDionysos.
    Je ne voudrais pas faire partie d'un club qui voudrait m'avoir moi pour membre.... [Grouchot Marx]
    Mais en tant que Marxiste, je playdoye pour le travail communautaire. C'est un paradoxe olympien ! Comprend qui peut !!!

  2. #2
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Citation Envoyé par wdionysos
    écrire une methode specifique qui change ce nom et renvoie une String de la requete
    Personnellement, je choisirais cette solution en paramétrant le nom de la table
    "Le calendrier, c'est la bureaucratie du temps." Quino

  3. #3
    Membre habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    Par défaut merci
    Ok

    merci de ton conseil, c'est ce aussi pour quoi j'ai opté.

    C'est dommage que toutes les clause SQl ne soit pas atteignable par les jeu setXXX de PreparedStatement. ca eviterai bien de rajouter toute une surcouche de methode surchargées.

    En meme temps, si l'esprit de PreparedStatement est de s'intégrer dans des couches d'abstraction au données alors ca me parait aussi normal car selon la norme une table = un DAO

    Mais je n'entrevois aucune autre solution pour un type d'application necessitant de generer des tables de meme type ou des vues a la demande et de posseder une seule et unique interface d'acces...

    Tans pis

    Bonne journée a Toi !

    WDio
    Je ne voudrais pas faire partie d'un club qui voudrait m'avoir moi pour membre.... [Grouchot Marx]
    Mais en tant que Marxiste, je playdoye pour le travail communautaire. C'est un paradoxe olympien ! Comprend qui peut !!!

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    une table entité = un accès dao pour les relations tu le gères dans le dao des entités

  5. #5
    Membre habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    Par défaut
    Oui, je suis d'accord avec toi s'il s'agit d'une application web MVC standard.

    Mon problème est plus particulier des histoires de calcul statistiques en cascade au sein d'une base embarquée dans une app standalone. Pas vraiment du relationnel tout ça.

    Sans rentrez dans les détails, j'ai finalement opter pour un mix de PreparedStatement et de java.text.MessageFormat pour la construction de requetes imbriquées complexes...

    Merci a tous pour votre attention et votre devouement !

    wdio
    Je ne voudrais pas faire partie d'un club qui voudrait m'avoir moi pour membre.... [Grouchot Marx]
    Mais en tant que Marxiste, je playdoye pour le travail communautaire. C'est un paradoxe olympien ! Comprend qui peut !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec la clause SQL 'like' et 'order by'
    Par alexqc25 dans le forum WinDev
    Réponses: 1
    Dernier message: 25/05/2007, 19h47
  2. clause sql sur champ Date avec masque de saisie
    Par TOMSEC dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/04/2007, 12h20
  3. [Access] Expression avec une clause SQL faisant appel à une variable
    Par elgringo2007 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 27/06/2006, 13h02
  4. Taille clause SQL
    Par engi dans le forum Langage SQL
    Réponses: 7
    Dernier message: 29/03/2006, 10h42
  5. Réponses: 1
    Dernier message: 08/11/2005, 14h32

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