读书人

阅读器关闭时 Read 的尝试无效解决办法

发布时间: 2012-01-18 00:23:26 作者: rapoo

阅读器关闭时 Read 的尝试无效
我在dbmanager类中定义了一个方法
public static SqlDataReader GetRead(string sql, SqlParameter[] param)
{
using (SqlConnection sqlcon = new SqlConnection(constr))
{
SqlCommand sqlcom = new SqlCommand(sql, sqlcon);
sqlcom.Parameters.AddRange(param);
sqlcon.Open();
SqlDataReader reader = sqlcom.ExecuteReader();
return reader;
}
}


现在我在一个类中用一个方法就收它的sqldatareader;
public static List<User> GetAllUser()
{
string sql = "select * from users ";
SqlParameter[] paraminfo = new SqlParameter[] {};
SqlDataReader reader = DBManager.GetRead(sql,paraminfo);
List<User> users = new List<User>();

while(reader.Read())
{
User user = new User();
user.Id=(int)reader["Id"];
user.LoginId = (string)reader["LoginId"];
user.LoginPwd = (string)reader["LoginPwd"];
user.Address=(string)reader["Address"];
user.Mail=(string)reader["Mail"];
user.Name=(string)reader["Name"];
user.Phone=(string)reader["Phone"];
int roleid=(int)reader["UserRoleId"];
int stateid=(int)reader["UserStateId"];
user.Userrole=UserRoleService.GetUserRoleById(roleid);
user.Userstate = UserStateService.GetUserStateById(roleid);
users.Add(user);
}

return users;
}

结果报错:
阅读器关闭时 Read 的尝试无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 阅读器关闭时 Read 的尝试无效。

源错误:


行 22: List<User> users = new List<User>();
行 23:
行 24: while(reader.Read())
行 25: {
行 26: User user = new User();


源文件: H:\PetShop\petshopDAL\UserService.cs 行: 24



各位大哥求救哇


[解决办法]
using (SqlConnection sqlcon = new SqlConnection(constr))
{
SqlCommand sqlcom = new SqlCommand(sql, sqlcon);
sqlcom.Parameters.AddRange(param);
sqlcon.Open();
SqlDataReader reader = sqlcom.ExecuteReader();
return reader;
}
}
你使用了using 所有未释放资源在using结束后会自动释放
[解决办法]

探讨
using (SqlConnection sqlcon = new SqlConnection(constr))
{
SqlCommand sqlcom = new SqlCommand(sql, sqlcon);
sqlcom.Parameters.AddRange(param);
sqlcon.Open();
SqlDataReader reader = sqlcom.ExecuteReader();
return reader;
}
}
你使用了using 所有未释放资源在using结束后会自…

读书人网 >asp.net

热点推荐