Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Erreur - Tentative de lecture non valide lorsqu'aucune donnée n'est présente. lors de l'utilisation de SQLDataReader même si des données sont présentes

Lorsque vous appelez SqlCommand.ExecuteReader() , le SqlDataReader qu'il vous donne est initialement positionné devant le premier enregistrement. Vous devez appeler SqlDataReader.Read() pour passer au premier enregistrement avant de tenter d'accéder à des données. SqlDataReader.Read() renvoie true s'il a pu passer au premier enregistrement ; il renvoie false s'il n'y a pas d'enregistrements.

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.
}