procedure loadUser(Sender: TObject; qry1, qry2: TADOQuery; tree: TspSkinTreeView;  var treeNode1, treeNode2, treeNode3: TTreeNode);
//tree: TspSkinTreeView为皮肤控件类型procedure TfrmUserMgr.loadUser(Sender: TObject; qry1, qry2: TADOQuery; tree: TspSkinTreeView; var treeNode1, treeNode2, treeNode3: TTreeNode);
begin
  with qry1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from user');
    Open;
  end;  Case qry1.fieldbyname('user_rights').AsInteger  of
  0:
  begin
    treeNode1 := tree.Items.Add(nil,'管理员');
    with qry2 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from user where user_rights=0');
      Open;
    end;
    while not qry2.Eof do
    begin
    tree.Items.Add(treeNode1,qry2.fieldbyname('user_name').AsString);
    qry2.Next;
    end;
  end;  1:
  begin
    treeNode2:=tree.Items.Add(nil,'操作员');
    with qry2 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from user where user_rights=1');
      Open;
    end;
    while not qry2.Eof do
    begin
    tree.Items.Add(treeNode2,qry2.fieldbyname('user_name').AsString);
    qry2.Next;
    end;
  end;  2:
  begin
    treeNode3:=tree.Items.Add(nil,'普通用户');
    with qry2 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from user where user_rights=2');
      Open;
    end;
    while not qry2.Eof do
    begin
    tree.Items.Add(treeNode3,qry2.fieldbyname('user_name').AsString);
    qry2.Next;
    end;
  end;  end;
end;
调用时的代码:  loadUser(qryUserLoad1, qryUserLoad2, treeUser);   //treeUser为皮肤控件类型
为什么会出现tadoquery和tspskintreevies类型不匹配?

解决方案 »

  1.   

    参数的个数没对上嘛loadUser(self,qryUserLoad1, qryUserLoad2, treeUser,ANode,BNode,CNode);//ANode,BNode,CNode:TTreeNode
      

  2.   

    我是想实现以下的格式:
    0---|管理员----|用户a
        |         |用户b
        |         |用户c
    1---操作员----|用户d
        |         |用户e
        |         |用户f
    2---|普通用户--|用户g
      

  3.   

    tree.Items.AddChild(treeNode3,qry2.fieldbyname('user_name').AsString);