错误:阅读器关闭时尝试调用 FieldCount无效。
情景:在用SqlDataReader sdr = cmd.ExecuteReader();返回查询结果时报错
原因:还没等返回SqlDataReader就关闭了数据库链接
public SqlDataReader getDataReader(string sql)
{
try
{
SqlConnection con = getConnection();
con.Open();
string sqlString = sql;
SqlCommand cmd = new SqlCommand(sqlString, con);
SqlDataReader sdr = cmd.ExecuteReader();
con.Close();
return sdr;
}
finally
{
}
}
解决方案:将码
SqlDataReader sdr = cmd.ExecuteReader();
con.Close();
改为:
SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
使其自动关闭