读书人

小弟我不知道有关问题在那大家帮帮忙

发布时间: 2012-01-14 20:02:35 作者: rapoo

我不知道问题在那,大家帮帮忙~~
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,要么换用别的方式...

读书人网 >C#

热点推荐