我遇到了一个错误,说我的数据读取器已经打开。DataReader已经打开
我的代码看起来像在Role.GetRoleByID这
public static Users GetByID(int ID, SqlConnection connection)
{
SqlCommand command = new SqlCommand("Select Name, Email, LastLogin, FK_Role_ID from Users where [email protected]");
command.Connection = connection;
command.Parameters.Add(new SqlParameter("id", ID));
SqlDataReader reader = command.ExecuteReader();
if (reader.Read())
{
Users user = new Users();
user.ID = ID;
user.Name = reader.GetString(0);
user.Email = reader.GetString(1);
user.LastLogin = reader.GetString(2);
user.role = Role.GetRoleByID(reader.GetInt32(3), connection);
reader.Close();
return user;
}
else
{
reader.Close();
return null;
}
}
错误occours说,DataReader的命令是alreader开放。这是真的,但我如何使用来自我的阅读器的信息调用Role.GetRoleByID。在C#中
我的代码和ASP.NET
你为什么不把GetRoleByID合并到你的查询中? –