私のdatareaderが既に開いているというエラーが表示されました。DataReaderがすでに開かれています
私のコードは、DataReaderのコマンドがalreader開いていることを言って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のように見えます。どちらが当てはまりますか?私のリーダーからの情報でRole.GetRoleByIDを呼び出すにはどうすればいいですか? C#で
IコードとASP.NET
なぜあなたのクエリにGetRoleByIDを組み込みませんか? –