c#递归中的DataReader的一些问题

2007年2月1日 | 分类: 生活 | 标签:

        private bool fillTree(ref TreeNode pNode, int parentId)
        {
            string queryString = “SELECT mId,parentId,mName,mPath,mHide FROM musicInfo WHERE parentId=” + parentId.ToString();
            SqlCommand command = new SqlCommand(queryString, myConn);
            SqlDataReader reader = command.ExecuteReader();
            while (reader.Read())
            {
                TreeNode nNode = null;
                if (null == pNode)
                {
                    nNode = musicTree.Nodes.Add(reader[2].ToString());
                }
                else
                {
                    nNode = pNode.Nodes.Add(reader[2].ToString());
                }
                fillTree(ref nNode,(int)reader[0]);
            }
            return true;
        }
这段代码居然在递归的时候说command已经有了reader,根使用了static一样,应该是每次递归都创建一个新的command和reader才对呀,不知道.net是怎么处理reader的,反正这样用是不能执行,只能使用dataSet了。

anyShare分享到:
          
目前还没有任何评论.