Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Erro - Tentativa inválida de leitura quando não há dados presentes. ao usar SQLDataReader mesmo se os dados estiverem presentes


Quando você chama SqlCommand.ExecuteReader() , o SqlDataReader que lhe dá está inicialmente posicionado antes o primeiro registro. Você deve chamar SqlDataReader.Read() para mover para o primeiro registro antes de tentar acessar qualquer dado. SqlDataReader.Read() retorna true se conseguiu passar para o primeiro registro; ele retorna false se não houver registros.
if (sqlDataReader.Read())
{    
    String roles = sqlDataReader[0].ToString();
    return roles;
}
else
{
    // The user name or password is incorrect; return something else or throw an exception.
}