我不知道问题在那,大家帮帮忙~~
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();
}
------解决方案--------------------因为你递归要打开多个OleDbDataReader
但是这是不允许的,改成使用dataset
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)
最新版本:20070212
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------DataReader对Connection是独占的...
要么为每一个DataReader分配一个Connection,要么换用别的方式...