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 ?