怎么在Treeview显示当前数据库下的所有表名

怎样在Treeview显示当前数据库下的所有表名
如题!

要在当前节点‘数据表’下显示所有表名称,例如:

 -数据表
    |-个人信息 
    |-家庭成员
    |-社会关系

------解决方案--------------------
procedure TForm1.Button1Click(Sender: TObject);
var
  i:Integer;
  sList:TStringList;
  fNode:TTreeNode;
begin
  TreeView1.Items.Clear;
  fNode:=TreeView1.Items.Add(nil,'数据表');
  sList:=TStringList.Create;
  ADOConnection1.GetTableNames(sList);//获取表名列表
  for i:=0 to sList.Count-1 do
     TreeView1.Items.AddChild(fNode,sList.Strings[i]);
  sList.Free;
end;

获取数据库中表名还有个方法,就是查询sysobjects系统表:
select [name] from sysobjects where type='U'