1

好的,我有一个 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;
4

1 回答 1

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;
于 2012-08-30T06:37:41.840 回答