id           follid         caption
1              0             菜单一
2              0             菜单二
3              0             菜单三
4              0             菜单四
5              1             子菜单一
6              2             子菜单二
7              3             子菜单三
8              4             子菜单四生成:
菜单一      菜单二    菜单三    菜单四 
 子菜单一     子菜单一   子菜单一   子菜单一  

解决方案 »

  1.   

    public string  MenuBind(int id)     // Add this line
    {
    //取得数据库路径
    string dbPath=System.Configuration.ConfigurationSettings.AppSettings["DbPath"];
    //定义连接字符串
    string ACconnStr="Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath(dbPath);
    //创建数据库对像
    OleDbConnection con=new OleDbConnection(ACconnStr);
    con.Open();
    string Menu=null;//主体
    //定义SQL语句
    string ACsql="select * from MenuForm where Pid="+id +" and MenuHide=0 order by SortNum";
    //创建Command对像
    try
    {
    OleDbCommand com = new OleDbCommand(ACsql,con);
    OleDbDataReader ACdr=com.ExecuteReader();
    while(ACdr.Read ())//循环读取
    {
    Menu+="<tr>";
    Menu+="<td>"+ACdr["FName"]+"</td>";
    Menu+="</tr>";
    MenuBind(1);      // Add this line               
    }
    ACdr.Close ();//切记一定要关闭阅读器
    return Menu;
    }
    finally
    {
    con.Close();
    }
    }