当前位置: 代码迷 >> ASP.NET >> ExecuteReader 要求已打开且可用的连接。连接的当前状态为正在连接。解决方法
  详细解决方案

ExecuteReader 要求已打开且可用的连接。连接的当前状态为正在连接。解决方法

热度:6270   发布时间:2013-02-25 00:00:00.0
ExecuteReader 要求已打开且可用的连接。连接的当前状态为正在连接。
打开网站总报ExecuteReader 要求已打开且可用的连接。连接的当前状态为正在连接。 怎么解决???急

------解决方案--------------------------------------------------------
何必把这些代码全贴出来。。
把返回SqlDataRader这个方法贴出来就行了
你在DBHelper类中是用了异常处理,但你把SqlDataRader return 出来时在别的层或方法里有没有加异常处理呢?
C# code
//逐行读取SqlDataReader对象中每一行数据  //并把数据添加到对象dataTable中try{  while (reader.Read())  {  reader.GetValues(objValues);  objDataTable.LoadDataRow(objValues, true);  }}finally{  ///关闭数据读取器  reader.Close();}  objDataTable.EndLoadData();  return objDataTable;//返回一个DataTable对象  }  }代码参考有问题
------解决方案--------------------------------------------------------
不能关闭
SqlDataReader reader = m_DBComm.ExecuteReader();
if(reader.Read())
{
if (reader["CMaster_Pwd"].ToString().Equals(userPwd))
{
}
else
{
}
}
 if (conn.State != ConnectionState.Open)
conn.Open();
 
数据库连接用后要及时释放,以供其他的连接使用
  相关解决方案