怎么生成树有关问题

如何生成树问题?
树中显示各专业分类明细:
      1.会计
              1.会计印章
              2.帐户管理
                      1.未实行章证分管
                      2.
                      3.
                              1.
                              2.
              3.外汇会计业务
      2.保卫
              1.安全管理
                      1.
                              1.
                              2.
              2.器械防护
      3.人事
              1.员工管理
              2.考勤管理
                      1.
             
数据库 "专业 "表:
ID                       明细
1                         会计
1.1                     会计印章
1.2                     帐户管理
1.2.1                 未实行章证分管
1.2.2                 ...
1.2.3                 ...
1.2.3.1             ...
1.2.3.2             ...
2                         保卫
2.1                     安全管理
2.1.1                 ...
2.1.2                 ...
.
.
.
这样的树怎样实现?最好有代码参考,我是初手,第一次接触树结构.

------解决方案--------------------
这个数据库设计的不好 应该类似如下

--------------------------
ID Category ParentID
1 会计 0
11 会计印章 1
12 帐户管理 1
121 未实行章证分管 12
--------------------------
这样在读取数据时每次根据ParentID就知道当前节点应该属于哪个叶节点下了 否则如果用你的这个数据库 恐怕解析起来比较麻烦
------解决方案--------------------
这是我以前做的一个行业的 你可以看看
private void loadtreeview()
{
string sqlselect= "select industry_name,industry_id from B2B_industry where industry_id_top=0 ";//,industry_sequence,GB_ID
DataTable pardt=myDatabase.SelectData(sqlselect);
for(int i=0;i <pardt.Rows.Count;i++)
{
DataRow dr=pardt.Rows[i];
string hy_name=dr[0].ToString();
string industry_id=dr[1].ToString();
// string hy_sequence=dr[2].ToString();
// string hy_GB_ID=dr[3].ToString();
TreeNode parnode=new TreeNode(hy_name);