Delphi et SQL

Delphi et SQL - Delphi/Pascal - Programmation

Marsh Posté le 09-09-2004 à 12:23:36    

:wahoo: Bonjour, je me sert d'un Treeview pour visualiser une BDD
par l'intermédiaire d'une requête sql Voilà mon morceau de code:
 
if ((Form2.Query1.FieldByName('Etage').AsString) <>'') then
     begin
       newNode := Items.AddChild(ParentNode,Form2.Query1.FieldByName('Etage').AsString );  
        newNode.ImageIndex := 1;  
         EnfantNode := newNode;  
     end;
 
J'aimerai, puisque j'ai plusieurs étages, tous les voir.
je dois donc faire une boucle, j'ai cherché dans l'aide delphi
pour savoir de quel objet me servir et je ne trouve rien,
quelqu'un peut me tuyauter SVP Merci.
 

Reply

Marsh Posté le 09-09-2004 à 12:23:36   

Reply

Marsh Posté le 10-09-2004 à 21:15:14    

Tu veux dire faire en sorte que tout l'arbre soit "développé" (ouvert) ?
Il y a un truc FullExpand il me semble, dans les propriétés du Treeview ou de Treeview.Items


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 11-09-2004 à 17:25:47    

:D Non, j'ai une base de données Qui contient des bâtiments,
des étages dans mes bâtiments, des pièces dans mes étages.
 je fait une boucle du style 'while not (Form2.Query1.Eof)do',
 Puis je charge mes bâtiments dans mon Treeview, puis à l'intérieur  
de ma boucle, je charge mes étages et mes pièces mais je n'arrive
à charger qu'un étage et une pièce par bâtiment.
  Je te donne le code, tu comprendras mieu.
 

  • temp_nom := '';

while not (Form2.Query1.Eof)    do
  begin
   if (Form2.Query1.FieldByName('Site').AsString ) <> temp_nom then
    begin
     temp_nom := Form2.Query1.FieldByName('Site').AsString  ;
      newNode := Items.AddChild(Tree_princ, temp_nom);  
       newNode.ImageIndex := 0;
        ParentNode := newNode;  
     For i:=0 to(Form2.Query1.FieldByName('Etage').ComponentCount) do
      begin
       if ((Form2.Query1.FieldByName('Etage').AsString) <>'') then
        begin
         newNode := Items.AddChild(ParentNode,Form2.Query1.FieldByName('Etage').AsString );  
         newNode.ImageIndex := 1;  
         EnfantNode := newNode;  
        end;
      end;
       if ((Form2.Query1.FieldByName('Local').AsString)<>'') then
        begin
         newNode := Items.AddChild(EnfantNode,Form2.Query1.FieldByName('Local').AsString);  
         newNode.ImageIndex := 2;  
         EnfantNode := newNode;  
        end;
       if  ((Form2.Query1.FieldByName('Référence').AsString)<> '') then
         begin
          newNode := Items.AddChild(EnfantNode,Form2.Query1.FieldByName('Référence').AsString);  
          newNode.ImageIndex := 4;  
         end;
       end;
   Form2.Query1.Next;
 end;
  Il faudrait que je trouve comment faire une boucle sur  
  les Query1.FieldByName mais je ne trouve pas l'objet adéquat.
 Aurais-tu une idée??
 

Reply

Marsh Posté le 11-09-2004 à 17:39:51    

Query1.Fields, c'est une liste de TField ou un truc du genre
 
Et je comprends pas trop ton histoire...


Message édité par antp le 11-09-2004 à 17:40:34

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed