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

Bases de données Delphi Discussion :

[D-7][PostGres]Récuperer l'ensemble des colonnes d'une table


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier Avatar de Escandil
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2003
    Messages : 84
    Points : 70
    Points
    70
    Par défaut [D-7][PostGres]Récuperer l'ensemble des colonnes d'une table
    Salut,

    J'utilise Delphi 7 pour récuperer des données dans une base Postgres.
    Cependant je rencontre actuellement des problèmes pour acceder à toutes mes colonnes.

    Voila mon code :
    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
    28
    29
    30
    31
    32
    33
     
    procedure TForm1.Cas_Point(table : string);
      var
        Ma_Requete : TQuery;
        TempString, TempOid : String;
      begin
        Ma_Requete := TQuery.Create(Application);
        try
     
          Ma_Requete.DatabaseName := DataModule2.Database1.DatabaseName;
          Ma_Requete.SQL.Add('SELECT oid, * FROM ' + table);
          Ma_Requete.Open;
     
          if not Ma_Requete.IsEmpty then
          while not Ma_Requete.Eof do
          begin
            TempString := VarToStr(Ma_Requete.FieldByName('geometrie').Value);
            TempOid :=  VarToStr(Ma_Requete.FieldByName('oid').Value);
            Generation_VEC_PNO(TempString, TempOid);
     
            showmessage(inttostr(Ma_Requete.FieldCount));
            showmessage(Ma_Requete.FieldList.GetText);
     
     
            Ma_Requete.Next;
          end;
          Ma_Requete.Close;
     
     
        finally
          Ma_Requete.Free;
        end;
      end;
    On notera que la table est spéciale dans la mesure ou elle contient un champs géométrie.

    Le problème :
    - Le FieldList ne renvoie que 3 colonnes ('OID', 'angle' et 'Geometrie')
    - Le FielCount renvoie lui aussi '3'.
    - La table possède une douzaine de colonne.
    - La même requete sous PgAdmin renvoie toutes les colonnes

    Ma question :
    - Les tables spatiales necessitent elles un traitement spécial ?

  2. #2
    Membre régulier Avatar de Escandil
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2003
    Messages : 84
    Points : 70
    Points
    70
    Par défaut
    Devant l'absence de réponse, je vais donner les résultats de mes tests d'hier

    Au sein de l'explorateur SQL lorsque j'affiche mes données, elles sont bioen toutes présentent.
    Par contre lorsque je fait un select * from Ma_table, dans l'onglet saisie SQL, je ne récupère rien.

    Est ce que cela peut venir de mes drivers ODBC ?
    Serait-ce la version de PostGres que j'utilise qui pose problème ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/12/2005, 09h03
  2. Parcourir l'ensemble des enregistrements d'une table
    Par Aurèl90 dans le forum Access
    Réponses: 17
    Dernier message: 22/09/2005, 14h51
  3. [JDBC]Nom des colonnes d'une table
    Par Guybrush dans le forum JDBC
    Réponses: 6
    Dernier message: 08/09/2004, 18h28
  4. [Firebird 1.5] nom des colonnes d'une table
    Par c0rwyn dans le forum SQL
    Réponses: 4
    Dernier message: 03/09/2004, 14h44

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