Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Futur Membre du Club
    Inscrit en
    juillet 2008
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : juillet 2008
    Messages : 70
    Points : 18
    Points
    18

    Par défaut Sélectionner les champs

    Salut;
    Comment sélectionner les champs leur taille et type et plus d'infos d'une table?
    merci de votre aide et a plus

  2. #2
    Expert Confirmé

    Homme Profil pro Philippe Makowski
    Consultant spécialité Firebird
    Inscrit en
    mai 2002
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe Makowski
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 2 308
    Points : 3 294
    Points
    3 294

    Par défaut

    tout depend de l'outil que tu utilises et ce que tu veux en faire
    sous isql un par exemple
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  3. #3
    Futur Membre du Club
    Inscrit en
    juillet 2008
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : juillet 2008
    Messages : 70
    Points : 18
    Points
    18

    Par défaut selectionner les champs firebird

    Bonjour,
    J'utilise Fibplus commen faire avec les composant de Fibplus sous delphi?
    merci

  4. #4
    Expert Confirmé
    Avatar de Ph. B.
    Homme Profil pro Philippe
    Inscrit en
    avril 2002
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Nom : Homme Philippe
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2002
    Messages : 1 327
    Points : 3 629
    Points
    3 629

    Par défaut

    Bonjour
    Avec les composants FIBPlus, tu dois interroger directement les tables systèmes de Firebird (RDB$*).
    Par exemple, pour avoir la liste des tables et vues non systèmes :
    Code sql :
    1
    2
    3
    SELECT rdb$relation_name
    FROM rdb$relations
    WHERE rdb$system_flag = 0
    La liste des tables et colonnes :
    Code sql :
    1
    2
    3
    4
    5
    6
    SELECT F.rdb$relation_name, F.rdb$field_name
    FROM rdb$relation_fields F
    INNER JOIN rdb$relations R ON R.rdb$relation_name = F.rdb$relation_name
    WHERE R.rdb$system_flag = 0
    AND R.rdb$relation_type = 0
    ORDER BY F.rdb$relation_name, F.rdb$field_name
    Une page avec plus de détails sur les metadonnées : voir le lien
    Après, il est impératif de s'appuyer sur la doc et éviter les bidouilles aux conséquences malheureuses (corruption de bases) en se limitant aux seules lectures. Faq Firebird

    Une autre piste à étudier : voir si les composants FIBPlus ne permettent pas d'obtenir les meta-données de la base de données.
    --
    Philippe.

  5. #5
    Futur Membre du Club
    Inscrit en
    juillet 2008
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : juillet 2008
    Messages : 70
    Points : 18
    Points
    18

    Par défaut j'ai la solution

    salut j'ai trouver la solution pour avoir touts les renseignements des champs
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    SELECT
        r.RDB$OWNER_NAME, rf.RDB$RELATION_NAME, rf.RDB$FIELD_NAME,
        case f.RDB$FIELD_TYPE when 12 then 'DATE' when 14 then 'CHAR' when 6 then 'NUMBER' when 35 then 'DATE' when 37 then 'VARCHAR2' when 7 then 'NUMBER' when 8 then 'NUMBER' when 27 then 'NUMBER' when 261 then 'LONG' else f.RDB$FIELD_TYPE end,
        case f.RDB$FIELD_TYPE when 12 then 'DATE' when 14 then 'CHAR' when 16 then 'NUMERIC' when 35 then 'TIMESTAMP' when 37 then 'VARCHAR' when 7 then 'SMALLINT' when 8 then 'INTEGER' when 27 then 'DOUBLE' when 261 then 'BLOB' else f.RDB$FIELD_TYPE end,
        case f.RDB$FIELD_TYPE when 261 then f.RDB$SEGMENT_LENGTH else f.RDB$FIELD_LENGTH end ,
        0,
        0,
        case rf.rdb$null_flag when 1 then 'N' else 'Y' end,
        rf.RDB$FIELD_POSITION
    FROM RDB$RELATIONS r
    JOIN RDB$RELATION_FIELDS rf ON rf.RDB$RELATION_NAME=r.RDB$RELATION_NAME
    LEFT JOIN RDB$FIELDS f ON f.RDB$FIELD_NAME = rf.RDB$FIELD_SOURCE
    WHERE r.RDB$SYSTEM_FLAG=0

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •