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

WinDev Discussion :

Requête SQL paramétrée [WD18]


Sujet :

WinDev

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2006
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 582
    Points : 265
    Points
    265
    Par défaut Requête SQL paramétrée
    Bonjour,
    j'ai besoin de créer une requête SQL paramétrée dont le paramètre est le nom de la table à parcourir. J'ai trouvé des tas d'exemples sur le Net pour le faire ; seul problème : Windev ne semble pas accepter l'instruction SQL DECLARE.
    Voici le code SQL que j'ai créé:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    DECLARE @Table_Name NVARCHAR(128)
    DECLARE @REQ NVARCHAR(MAX)
     
    SET @Table_Name = {Parameter1}
    SET @REQ = 'SELECT *, ' + @Table_Name + '.Text FROM MaTable1, ' + @Table_Name + ' WHERE MaTable1.ShortDescription = ' + @Table_Name + '.Tag'
    EXEC (@REQ)
    La requête s'effectue sur 2 tables: MaTable1 est connue d'avance, la 2nde est le paramètre.
    Comment faire ?

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Bienvenu dans the wonderfull word of Windev... ça tu pourras jamais le faire....

    Déjà c'est du PL-SQL... Windev ne le connait pas...

    En en plus dans le contexte HF, la moitié des instructions SQL sont implémentés à moitié donc si tu attaques de l'Hyperfile, dans le *** lulu

    Par contre tu peux faire tout ça en WLangage....
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Août 2006
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 582
    Points : 265
    Points
    265
    Par défaut
    Citation Envoyé par michel.souris Voir le message
    Par contre tu peux faire tout ça en WLangage....
    C'est-à-dire, comment ?
    P.S : la base de données n'est pas HyperFile ; ce n'est pas moi qui l'ai créée, j'ai juste un fichier .db pour y accéder.

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    ben genre une fonction qui génère une chaine que tu exécutes avec hExecuteRequeteSQL...

    Si t'as BDD n'est pas en HF tu peux créer ta procédure PL-SQL de façon indépendante (worksheet ou autre) et l'appeler dans une requête que tu exécute depuis Windev....
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Techniquement, tout ce que la base permet est faisable avec WinDev, il suffit d'utiliser SqlExec() ou hExecuteRequetSQL avec l'option hRequeteSansCorrection.
    Ainsi même ce que WinDev ne comprend pas sera quand même utilisable.

    Tatayo.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Août 2006
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 582
    Points : 265
    Points
    265
    Par défaut
    OK. Merci à tous. Je vais essayer. Mais comment effectuer la liaison entre les champs de mon formulaire censés afficher le contenu de la BD et cette fonction ?

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Août 2006
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 582
    Points : 265
    Points
    265
    Par défaut
    ...ou alors, au lieu de m'embêter avec tout ça, vu que les tables contenant les textes dans les différentes langues sont au plus une quinzaine, je crée 15 requêtes - une par langue - avec le nom de la table Language en dur et j'appelle la requête correspondant à la langue demandée...
    Je pense que ça m'évitera bien des maux de tête !

  8. #8
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Si des fois le nom des tables pouvait changer (ce dont je doutes) tu peux aussi avoir une table d'association langue-table pour resté pseudo-dynamique ...

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

Discussions similaires

  1. Requête SQL Paramétrée
    Par K-PAX dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/06/2008, 21h39
  2. Requête SQL paramétrée
    Par looping dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/12/2007, 22h08
  3. Requête SQL paramètrée et passage de paramètres
    Par Andry dans le forum Bases de données
    Réponses: 4
    Dernier message: 15/11/2007, 06h39
  4. Requête Sql Paramétrée [ Débutant ]
    Par bon4000 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 17/09/2007, 16h30
  5. Réponses: 4
    Dernier message: 17/02/2007, 15h11

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