Когато извикате SqlCommand.ExecuteReader() , SqlDataReader което ви дава първоначално е позиционирано преди първия запис. Трябва да извикате SqlDataReader.Read() за да преминете към първия запис, преди да опитате достъп до каквито и да е данни. SqlDataReader.Read() връща true ако е успял да премине към първия запис; връща false ако няма записи.
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.
}