将数据从ado DB添加到树视图

时间:2012-08-30 05:47:51

标签: delphi delphi-xe2

好的我有一个Ado DB表名是[pass]字段

[id]
[Machine]
[Level]
[Username]
[Password]

我想像树一样在树视图中显示所有记录

[Machine]
--|Level|
----Username
----Password
--|Level|
----username
----Password
[Machine]
--|Level|
----username
----Password

等..

我知道如何连接到db,但不知道如何将数据输入到树中并将其作为节点或次级项解除。

由于 格伦

当前代码。

procedure TForm2.Button1Click(Sender: TObject);
var
  Qry:TADOQuery;
  selected : string;
  i:integer;
begin
    Qry:=TADOquery.Create(Self);
    try
       qry.Connection := dbconnection;
       qry.SQL.Clear;
       qry.SQL.Add('Select * FROM [Pass]');
       qry.Open;
       Qry.First;
       i:=1;
       with qry do
       begin
           while qry.RecordCount >= i do
           begin

           end;
       end;
    finally
        Qry.Active:=False;
        Qry.Free;
    end;

end;

1 个答案:

答案 0 :(得分:1)

我相信这是一个很好的起点。我在我的应用程序中使用它来加载两个表:

procedure TdlgTestsSections.LoadSections;
var
  AllSectionsNode, SectionNode, SubSectionNode, AllParamsNode,
  i: Integer;
begin
  tvSections.Items.Clear;
  AllSectionsNode := tvSections.Items.AddNode(nil, nil, 'All Sections',
    Pointer(0), naAddFirst);
  dmLabData.qTestSections.Requery;
  while not dmLabData.qTestSections.Eof do
  begin
    SectionNode := tvSections.Items.AddNode(nil, AllSectionsNode,
      dmLabData.qTestSectionsName.Value,
      Pointer(dmLabData.qTestSectionsID.Value), naAddChild);
    dmLabData.qTestSubSections.First;
    while not dmLabData.qTestSubSections.Eof do
    begin
      SubSectionNode := tvSections.Items.AddNode(nil, SectionNode,
        dmLabData.qTestSubSectionsName.Value,
        Pointer(dmLabData.qTestSubSectionsRowNo.Value), naAddChild);
      SubSectionNode.Expanded := False;
      dmLabData.qTestSubSections.Next;
    end;
    dmLabData.qTestSections.Next;
  end;
end;