Предполагается, что ваш запрос предлагает вам то, что вы хотите, чтобы иметь возможность использовать данные, считанные с SqlDataReader
, вам нужно использовать интерфейс IDataRecord
. Вы не можете напрямую использовать переменную rdr
.
Для простоты использования, я написал механизм чтения в функцию. Я пишу здесь идею для вас, чтобы адаптировать ее к вашим потребностям:
private static int ReadSingleRow(IDataRecord record)
{
//below is an example of processing using `record`. You adapt it to your needs
int.TryParse(record[0].ToString(), out int temp);
MessageBox.Show (temp.ToString());
//...do the processing you need
return temp;
}
После того, как вы написали функцию, основным становится:
if (rdr.HasRows)
{
while (rdr.Read());
int x=ReadSingleRow((IDataRecord) rdr);
//or use, somehow, the above function
// other processing
}