SqlHelper help=new SqlHelper ();
        SqlDataReader sdr1 = help.RunDataReader("select * from Class_Blog where classBid=0");
        while (sdr1.Read())
        {
            Response.Write(sdr1["classname"].ToString() + "<br/>");
            SqlDataReader sdr2 = help.RunDataReader("select * from Class_Blog where classbid=" + sdr1["ClassID"].ToString());
            sdr1.Dispose();
            while (sdr2.Read())
            {
                Response.Write(sdr2["classname"].ToString());
            }
            sdr2.Dispose();
            Response.Write("<br/>");
        }
---------------------------------------------------------------------------------------------------
help.RunDataReader方法   public SqlDataReader RunDataReader(string sql)
    {
        try
        {
            SqlCommand cmd = new SqlCommand(sql, conn);
            OpenConnection();
            return cmd.ExecuteReader(CommandBehavior.CloseConnection);
        }
        catch (Exception ex)
        {
            conn.Close();
            throw new Exception(ex.Message);
        }
        finally
        {
            
        }
    }--------------------------------------------在做静态化,想输出父子关系,但是不知道该怎么弄,

解决方案 »

  1.   

    输出父子关系应该用递归,嵌套循环SqlDataReader不是个好方法
      

  2.   


    private string GetSubTree(DataSet ds, string parentId)
        {
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                if (ds.Tables[0].Rows[i][parentIdField].ToString() == parentId)
                {
                    sb.Append("<div class='treesub' classid='" + dataSource.Tables[0].Rows[i][idField].ToString() + "' desc='" + dataSource.Tables[0].Rows[i]["ClassDesc"].ToString() + "' >");
                    sb.Append("<img src='../images/treemenu+.gif' />&nbsp;");
                    sb.Append("<a href='#'>");
                    sb.Append(ds.Tables[0].Rows[i][dispNameField].ToString());
                    sb.Append("</a>");                sb.Append(GetSubTree(ds, ds.Tables[0].Rows[i][idField].ToString()));
                    sb.Append("</div>");
                }
            }
            return sb.ToString();
        }