Исключение операции system.invalid недействительная попытка прочитать, когда данные отсутствуют после while loop Reader show Empty.Неверная попытка чтения, когда данные отсутствуют в Reader show empty
byte[] fingerprint()
{
OpenConnection();
SqlCommand command = connection.CreateCommand();
SqlDataReader Reader;
command.CommandText = "SELECT fp,name FROM fptable";
Reader = command.ExecuteReader();
// Reader= command.ExecuteReader(CommandBehavior.CloseConnection);
try
{
while (Reader.Read())
{
Reader.GetValue(0);
String name = Reader.GetValue(1) as String;
byte[] temps = Reader.GetValue(0) as byte[];
list.Add(temps);
names.Add(name);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
byte[] temp = Reader.GetValue(0) as byte[]; //**error at this point**
// byte[] temp = Reader["fp"] as byte[];
// MakeReport(list.Count+""+names.Count);
return temp;
}
Почему вы пытаетесь прочитать снова читателя в этот момент? В этот момент ваш код достиг конца данных, возвращаемых запросом (выход из цикла), поэтому это нормально, чтобы иметь эту ошибку. Нет данных для чтения .... – Steve
Ваш читатель заканчивается в конце цикла while, с которым вы не можете читать –