首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

再提treeview有关问题

2012-01-13 
再提treeview问题开贴再提问????????运行提示:超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这

再提treeview问题
开贴再提问????????
运行提示:超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。

表结构如下:  
ID       char                   10
DETAIL       varchar50
NAME       varchar50

以下是我最新的代码:

using   System;
using   System.Data;
using   System.Configuration;
using   System.Collections;
using   System.Web;
using   System.Web.Security;
using   System.Web.UI;
using   System.Web.UI.WebControls;
using   System.Web.UI.WebControls.WebParts;
using   System.Web.UI.HtmlControls;
using   System.Data.Sql;
using   System.Data.SqlClient;
using   System.Configuration;

public   partial   class   Default9   :   System.Web.UI.Page
{
     

        protected   void   Page_Load(object   sender,   EventArgs   e)
        {
                if   (!IsPostBack)
                {
                        AddTreeView(1,   (TreeNode)null);
                }


        }
        protected   void   AddTreeView(Int64   ID,   TreeNode   tn)
        {
                           
              string   CustomerDataConnectionString   =   System.Configuration.ConfigurationSettings.AppSettings[ "ConnectionString "];
                SqlConnection   objConn   =   new   SqlConnection(CustomerDataConnectionString);

          String   strCmd   =   "select   DETAIL,NAME   from   AAAA   where   ID= "   +   ID;

                SqlCommand   objCmd   =   new   SqlCommand();

                objCmd.Connection   =   objConn;
                objConn.Open();
                objCmd.CommandText   =   strCmd;

                SqlDataReader   objDR   =   objCmd.ExecuteReader();

                while   (objDR.Read())
                {
                        if   (tn   ==   null)
                        {
                                TreeNode   myNode   =   new   TreeNode();
                                myNode.Text   =   objDR[ "DETAIL "].ToString().Trim();
                                myNode.Value   =   objDR[ "NAME "].ToString().Trim();


                                TreeView1.Nodes.Add(myNode);
                                AddTreeView(Int64.Parse(objDR[ "DETAIL "].ToString().Trim()),   (TreeNode)myNode);
                        }
                        else
                        {
                                TreeNode   myNode1   =   new   TreeNode();
                                myNode1.Text   =   objDR[ "DETAIL "].ToString().Trim();
                                myNode1.Value   =   objDR[ "NAME "].ToString().Trim();
                                tn.ChildNodes.Add(myNode1);
                                AddTreeView(Int64.Parse(objDR[ "DETAIL "].ToString().Trim()),   (TreeNode)myNode1);
                        }
                }

                objDR.Close();
                objConn.Close();
        }


}



[解决办法]
楼主使用SqlDataReader时,在建立树的过程中,应用程序一至与数据库保持着连接在,由于网络不稳定所以会导致程序“不稳定,时好时坏”;
建议楼主先将数据取出放到Dataset中,在本地建立树,应该可以避免这种问题!

热点排行