Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1876 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi + Sql]Les champs dans une liste

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Delphi + Sql]Les champs dans une liste

n°1053124
gaar@
Posté le 20-04-2005 à 08:36:01  profilanswer
 

Bonjour,
Je suis sous Delphi 7 et j'utilise INTERBASE 6.
je récupère les noms des champs d'une table dans une liste (TemplistTable: Tstrings)

TemplistTable := TStringList.Create;
dtModule.IBDatabase1.GetFieldNames(nomTable, TemplistTable);


 
Pour ensuite les écrires dans un fichiers .sql dans la syntaxe suivante :
en parcourant la liste (TemplistTable: Tstrings)
 

for j := 0 to nbChamp - 1 do
  if j <> nbChamp-1 then
    req := req + TempListTable[j] + ','
  else
    req := req + TempListTable[j];


 
Le problème est que j'ai le résultat suivant :
 
INSERT INTO PRESTA_COMPO( PRST_CODEPC,PRST_NOLIGNE,PRST_QTE,TRF_CODEREF)
VALUES(....)
 
Les champs de la table sont classé par ordre alphabétique et non ordonné comme dans la table (ce qui peut être assez génant dans une requête INSERT INTO), il faudrait donc :
 
INSERT INTO PRESTA_COMPO( PRST_NOLIGNE,PRST_QTE,TRF_CODEREF,PRST_CODEPC)
VALUES(....)  
 
j'espère qu'il y a assez de précision, je remerci ceux qui pourront jeter un coup d'oeil.
 
++
 
 
EDIT : J'ai essayé en renseignant à False la propriété Sorted de ma Liste mais cela n'a rien changé :

TemplistTable := TStringList.Create;
TempListTable.Sorted := False;
dtModule.IBDatabase1.GetFieldNames(nomTable, TemplistTable);


Message édité par gaar@ le 20-04-2005 à 14:44:14
mood
Publicité
Posté le 20-04-2005 à 08:36:01  profilanswer
 

n°1053774
gaar@
Posté le 20-04-2005 à 16:17:42  profilanswer
 

Citation :

Les champs de la table sont classé par ordre alphabétique et non ordonné comme dans la table


 
j'ai trouvé ça qui semble fonctionner :
 

with dtModule.IBQuery1 do
begin  
  SQL.Clear;
  SQL.Add('Select * from ' + nomTable);
  Prepared := true;
  Open;
 
begin
  for i := 0 to FieldCount - 1 do
    TempListTable.Add(Fields[i].DisplayName);
  end;
end;


Message édité par gaar@ le 20-04-2005 à 16:20:06

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi + Sql]Les champs dans une liste

 

Sujets relatifs
[ORACLE/PHP] Disparition champs NULL dans mon resultsetStocker des fichiers sur SQL Serveur ?
[access/SQL]recherche multi-tableJointure Requête SQL
Requete SQL - TOP10requête union SQL
[SQL] Problème tout con, mais je sais pas comment faireImpression sous DELPHI
zone de liste sous ACCESS[SQL]aide sur une requete d'update
Plus de sujets relatifs à : [Delphi + Sql]Les champs dans une liste


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR