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

Firebird Discussion :

Lecture noms des colonnes d'une table avec WINDEV


Sujet :

Firebird

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Points : 22
    Points
    22
    Par défaut Lecture noms des colonnes d'une table avec WINDEV
    Bonjour,
    Sous Windev j'utilise UNE requête et j'affiche le résultat dans une table:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    bRes est un booléen
    ReqClient est une Source de Données
     
    bRes=HExécuteRequêteSQL(ReqClient,"SELECT * FROM EMPLOYEE")
     
    POUR TOUT ReqClient
    	TableAjouteLigne(TABLE_EMPLOYEE,ReqClient.FIRST_NAME,ReqClient.LAST_NAME)
    FIN

    FIRST_NAME et LAST_NAME sont des colones de cette table,

    Mon problème:
    Je souhaite afficher toutes les colonnes de la table, même si je ne connais pas leur nom!

    L'idéal c'est de lister toutes les colonnes dans une autre table et après je peux construire ma requête avec les colonnes que je souhaite.

    Merci de votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 268
    Points : 41 668
    Points
    41 668
    Billets dans le blog
    64
    Par défaut
    Bonjour,
    Citation Envoyé par christophe.65 Voir le message
    Je souhaite afficher toutes les colonnes de la table, même si je ne connais pas leur nom!
    cette requête répond à la demande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT RDB$FIELD_NAME FROM RDB$RELATION_FIELDS WHERE RDB$RELATION_NAME = 'EMPLOYEE'

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    merci, je n''ai pas d'erreur sur l’exécution de la requête. Mais comment je parcours ma requête pour afficher les nom des colonnes?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 708
    Points : 956
    Points
    956
    Par défaut
    Citation Envoyé par christophe.65 Voir le message
    Mais comment je parcours ma requête pour afficher les nom des colonnes?
    Je pense qu'il s’agit la maintenant d'un problème windev !

  5. #5
    Membre habitué
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 221
    Points : 185
    Points
    185
    Par défaut
    Bonsoir

    sRequete est une chaîne = "SELECT RDB$FIELD_NAME FROM RDB$RELATION_FIELDS WHERE RDB$RELATION_NAME = 'EMPLOYEE' "
    SI SQLExec(sRequete, "REQ_COLONNE") = Vrai ALORS
    TANTQUE SQLAvance("REQ_COLONNE") = 0
    MonNomDeColonne = SQLLitCol("REQ_COLONNE",1)
    FIN
    FIN

    SQLFERME.....

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    Merci à tous, ça marche!

    Conexion à la base et lecture des tables de la base:
    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
     
    SQLDéconnecte()
    nNumConnexion=0
    ListeSupprimeTout(LISTE_ListeTable)
    TableSupprimeTout(TABLE_Colonne)
    TableSupprimeTout(TABLE_Données)
     
    sBase = LISTE_ListeBase..ValeurAffichée
     
    SI sBase <> "" ALORS
    	nNumConnexion = SQLConnecte(sBase,SAI_Utilisateur,SAI_Mot_de_passe)
    SINON
    	RETOUR
    FIN
     
     
    SI PAS nNumConnexion ALORS
    	SQLInfoGene()
    	Info("Erreur SQL : " + SQL.MesErreur)
    SINON
    //	Info ("La conexion a la base "+ sBase + "c'est bien déroulé")
    	// Liste non détaillée des tables
    	Ch est une chaîne = SQLListeTable(Faux,Vrai)
    	Ch = SansEspace(Ch)
    	// Ajout dans un champ Liste
    	ListeAjoute(LISTE_ListeTable, Ch)
    FIN
    Lecture des colonnes des tables
    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
     
    MonNomDeColonne est une chaîne
    NomTable est une chaîne
    TableSupprimeTout(TABLE_Colonne)
     
    NomTable = LISTE_ListeTable..ValeurAffichée
    SI nNumConnexion=0 ALORS
    	Info("Pas de conexion active a une base")
    SINON
    	sRequete est une chaîne = "SELECT RDB$FIELD_NAME FROM RDB$RELATION_FIELDS WHERE RDB$RELATION_NAME = '"+ NomTable+"' "
     
    	SI SQLExec(sRequete, "REQ_COLONNE") = Vrai ALORS
    		TANTQUE SQLAvance("REQ_COLONNE") = 0 
    			MonNomDeColonne = SQLLitCol("REQ_COLONNE",1)
    			TableAjouteLigne(TABLE_Colonne,MonNomDeColonne)
    		FIN
    	FIN
    	SQLTable(sRequete,TABLE_Colonne )
     
    FIN
    SQLFerme(sRequete)

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

Discussions similaires

  1. select des noms de colonne d'une table
    Par Juan dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/09/2006, 16h14
  2. Modification nom colonne dans une table
    Par Mvu dans le forum Langage SQL
    Réponses: 1
    Dernier message: 16/06/2006, 11h38
  3. Réponses: 4
    Dernier message: 19/05/2005, 15h18
  4. [JDBC]Nom des colonnes d'une table
    Par Guybrush dans le forum JDBC
    Réponses: 6
    Dernier message: 08/09/2004, 19h28
  5. [Firebird 1.5] nom des colonnes d'une table
    Par c0rwyn dans le forum SQL
    Réponses: 4
    Dernier message: 03/09/2004, 15h44

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