Cuando llama a SqlCommand.ExecuteReader()
, el SqlDataReader
que te da está posicionado inicialmente antes el primer registro. Debe llamar a SqlDataReader.Read()
para pasar al primer registro antes de intentar acceder a cualquier dato. SqlDataReader.Read()
devuelve true
si pudo pasar al primer registro; devuelve false
si no hay 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.
}