Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Errore - Tentativo di lettura non valido quando non sono presenti dati. durante l'utilizzo di SQLDataReader anche se sono presenti dati

Quando chiami SqlCommand.ExecuteReader() , il SqlDataReader che ti dà è inizialmente posizionato prima il primo record. Devi chiamare SqlDataReader.Read() per passare al primo record prima di tentare di accedere a qualsiasi dato. SqlDataReader.Read() restituisce true se è stato in grado di passare al primo record; restituisce false se non ci sono record.

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