【新人】ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭
【新人求助】ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。

------解决方案--------------------
Close();
你写了什么,是不是close了reader
那当然出错
int r = (int)cmd.Parameters["ReturnValue"].Value;
Close();
return r;
------解决方案--------------------
你的连接呢?
SqlConnection对象在哪里,有没有调用Open()
------解决方案--------------------
要显式调用数据库连接对象的open,要不然就会这样子
------解决方案--------------------
public int RunProc(string procName, SqlParameter[] prams)
{
SqlCommand cmd = CreateCommand(procName, prams);
try
{
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
SystemError.SystemLog(ex.Message);
}
Close();
return (int)cmd.Parameters["ReturnValue"].Value;
}
public void RunProc(string procName, out SqlDataReader dataReader)
{
SqlCommand cmd = CreateCommand(procName, null);
dataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
public void RunProc(string procName, SqlParameter[] prams, out SqlDataReader dataReader)
{
SqlCommand cmd = CreateCommand(procName, prams);
dataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
------解决方案--------------------
Close();
你写了什么,是不是close了reader
那当然出错
int r = (int)cmd.Parameters["ReturnValue"].Value;
Close();
return r;
------解决方案--------------------
你的连接呢?
SqlConnection对象在哪里,有没有调用Open()
------解决方案--------------------
要显式调用数据库连接对象的open,要不然就会这样子
------解决方案--------------------