reader.Read()
переводит считыватель к следующей записи, где считыватель изначально установлен перед первой записью.Если вызов reader.Read()
возвращает false, это означает, что он не смог перейти к следующей записи (т. Е. Текущая запись является последней записью).
Это означает, что если вы хотите прочитать первую запись, вам нужноВызовите reader.Read()
один раз, и если reader.Read()
вернет false, это означает, что не было никаких записей - например, так:
using (var reader = cmd.ExecuteReader())
{
if (reader.Read())
{
intQ = int.Parse(reader[0].ToString());
}
else
{
intQ = 0;
}
}
txtblck.Text = intQ.ToString();
FYI int.Parse
сгенерирует исключение, если первая запись пуста - это отличаетсяот нуля строк.Возможно, вам следует проверить нулевые значения или использовать int.TryParse
.