Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Fehler – Ungültiger Leseversuch, wenn keine Daten vorhanden sind. während der Verwendung von SQLDataReader, auch wenn Daten vorhanden sind

Wenn Sie SqlCommand.ExecuteReader() aufrufen , der SqlDataReader die es Ihnen gibt, steht zunächst vor der erste Rekord. Sie müssen SqlDataReader.Read() aufrufen zum ersten Datensatz zu wechseln, bevor Sie versuchen, auf Daten zuzugreifen. SqlDataReader.Read() gibt true zurück ob es in der Lage war, zum ersten Datensatz zu wechseln; es gibt false zurück wenn es keine Aufzeichnungen gibt.

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