当前位置: 代码迷 >> ASP.NET >> ExecuteScalar 要求已打开且可用的连接。连接的当前状态为已关闭,该怎么解决
  详细解决方案

ExecuteScalar 要求已打开且可用的连接。连接的当前状态为已关闭,该怎么解决

热度:3748   发布时间:2013-02-25 00:00:00.0
ExecuteScalar 要求已打开且可用的连接。连接的当前状态为已关闭
问题是:我已经在每次用完DataReader后,都把对应的DataReader关闭了,同时他们共用一个SqlConnection,不过我每次用时,都把CommandText改过来了,可是还是出现这个错误提示,请高手指点。
this.Exsql.Open();
                        string   cmdText   =   " ";
                        string   text2   =   " ";
                        string   text3   =   " ";
                        string   text4   =   " ";
                        string   text5   =   " ";
                        cmdText   =   "select   DISTINCT   YX_ProID   from   YX_Shoping ";
                        SqlCommand   com   =   new   SqlCommand(cmdText,   this.Exsql.con);
                        SqlDataReader   reader   =   com.ExecuteReader();
                        DataSet   set   =   new   DataSet();
                        DataTable   table   =   new   DataTable( "tab1 ");
                        set.Tables.Add(table);
                        DataColumn   column   =   new   DataColumn( "YX_ID ",   Type.GetType( "System.Int32 "));
                        set.Tables[ "tab1 "].Columns.Add(column);
                        column   =   new   DataColumn( "YX_ProName ",   Type.GetType( "System.String "));
                        set.Tables[ "tab1 "].Columns.Add(column);
                        column   =   new   DataColumn( "YX_ProNum ",   Type.GetType( "System.Int32 "));
                        column.DefaultValue   =   0;
                        set.Tables[ "tab1 "].Columns.Add(column);
                        column   =   new   DataColumn( "YX_ProPic ",   Type.GetType( "System.String "));
                        set.Tables[ "tab1 "].Columns.Add(column);

                        int   Lenreader   =   -1;
                        Hashtable   hashtable   =   new   Hashtable();