Einzelnen Beitrag anzeigen

Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#33

Re: Ausgeben von einer Datenbank mit TTreeView

  Alt 14. Feb 2006, 12:48
Hallo.

Meine SQL Abfrage ist

SQL-Code:

Select wg_1,wg_2,wg_3,wg_4,wg_5,wg_6,wg_7,wg_8,wg_9,wg_10 from warengruppen group by wg_1,wg_2,wg_3,wg_4,wg_5,wg_6,wg_7,wg_8,wg_9,wg_10
Dann lese ich die Datein in einen

Delphi-Quellcode:
Var
   i:Integer;
   L_Acc_value:Packed array[0..99] of Variant;

  TreeData: TTreeData;
  TestKnoten, Knoten,Knoten_alt,Unter_Knoten_alt: PVirtualNode;
begin
  // Alle Einträge werden gelöscht!
  VST.Clear;

  //Größe von Eingabedaten werden übergeben
  VST.NodeDataSize:=SizeOf(TTreeData);

  //Begine die Knoten einzufügen
  VST.BeginUpdate;

  with q_wg do
  begin
    Close;
    Open;
     First;

    While not Eof do
    begin

      //Hauptknoten! Hauptkategorien
      If L_Acc_Value[0]<> Fields[0].Value then
        begin
          TreeData.FCaption := Vartostr(Fields[0].Value);
          Knoten:=AddVSTStructure(VST,nil,TreeData);
          Knoten_alt := Knoten;
        end
        // Falls in der Hauptkategorie eine weitere Unterkategorie dann wird die hier eingetragen!
        else Knoten := Knoten_alt;
          L_Acc_Value[0]:=Fields[0].Value;

      //Unterknoten, Unterkategorien
      For i:=1 to FieldCount-1 do
      begin

        // Nicht Null, nicht leer, Nicht gleich!
        if (L_Acc_Value[i]<> Fields[i].Value) And (not VarIsNull(Fields[i].Value)) And (Fields[i].Value <> '') then
        begin
          // Nur Zur Kontrolle!!

          Unter_Knoten_alt := Knoten;
          TreeData.FCaption := Vartostr(Fields[i].Value);
          Knoten:=AddVSTStructure(VST,Knoten,TreeData);
        end
        else
        begin
          IF (L_Acc_Value[i] = Fields[i].Value) And (not VarIsNull(Fields[i].Value)) And (Fields[i].Value <> '') Then
          begin
// Showmessage(IntToStr(Knoten.Index));
             Knoten := Unter_Knoten_alt;
          end;
        end;
          L_Acc_Value[i]:=Fields[i].Value;
      end;

      //Nächsten Datensatz
      next;
    end;
  end;

  //Beende die Knoten einzufügen
  VST.EndUpdate;

  //Sortierung, die DS werden per SQL sortiert!

  //Vst.SortTree(1,sdAscending,True);
end;
Ergebniss ist Fehlerhaft.

Siehe Bild. Wie kann man das Problem bei mir lösen?
Miniaturansicht angehängter Grafiken
002_127.gif  
  Mit Zitat antworten Zitat