向各位请教一个问题,如何从表中的数据加到treeview中的items如:
Table1的A字段有A1,A2,A3....AN;B字段有B1,B2,B3....BN;N字段也有很多数据,怎样作循环才能它Table1中的所有字段中的值显示在TreeView中来,谢谢!!!!!!!

解决方案 »

  1.   

    query1.sql.add('select .... from ... where ...=''生活用品'' ..');
    query1.open;
    while not eof do
    begin
      with TtreeItem.create(treeview1.items) do
      begin
        caption := field[0].asstring;
        subitems[1] := field[1].asstring;
        ....
        next;
      end;
    end;
      

  2.   

    麻烦帮我看一下,这样是否正确?谢谢!!!!!(为什么只能表JOB中D_DEPT找到第一条数据)
    var
    father,father1:ttreenode;
    begin
         with query1 do
         begin
         close;
         sql.Clear;
         sql.Add('select D_DEPT from JOB');
         open;
         first;
         while not query1.Eof do
         next;
         with treeview1.Items do
         begin
         father:=add(nil,fieldbyname('D_DEPT').Value);
          with query2 do
          begin
           close;
           sql.Clear;
           sql.Add('select J_JOB from JOB where D_DEPT=:p0');
           parambyname('p0').Value:=query1.fieldbyname('D_DEPT').Value;
           open;
           first;
           while not query2.Eof do
           begin
           addchild(father,query2.fieldbyname('J_JOB').Value);
           query2.Next;
           end;
          end;
          end;
        next;
         end;
    end;
      

  3.   

    为什么query1每次循环先next再操作然后又next?少了一半数据吧
      

  4.   

    每个LEVEL要一个next
    这个叫嵌套查询啊。
    应该是这样的。