日期:2014-05-17  浏览次数:20596 次

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();
 
数据库连接用后要及时释放,以供其他的连接使用