private void getTree(string id,TreeNode nodes)
    {
        int j = 0;
        OleDbConnection dbcon = (OleDbConnection)Application["dbcon"];//数据链接
org_no 就是信息id号节点信息,parentid是父节点
        OleDbCommand dbcom2 = new OleDbCommand("select org_name,org_no,parentid from tbl_org  where parentid ='" + id.Trim()+ "' order by parentid", dbcon);
        OleDbDataReader dr2 = dbcom2.ExecuteReader();
        while (dr2.Read())
        {            //foreach(TreeNode t in tv1.Nodes){}
            nodes.ChildNodes.Add(new TreeNode(dr2.GetValue(0).ToString().Trim()));
            
          
            getTree(dr2.GetValue(1).ToString().Trim(),nodes.ChildNodes[j]);
            
          
            
        }
       
        j = j + 1;        dbcom2.Dispose();
        dr2.Close();
        dr2.Dispose();
            
    }

解决方案 »

  1.   

    因为你递归要打开多个OleDbDataReader 但是这是不允许的,改成使用dataset
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 最新版本:20070212http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  2.   

    DataReader对Connection是独占的...要么为每一个DataReader分配一个Connection,要么换用别的方式...