SqlCeDatareader.HasRows вызывает исключение - PullRequest
0 голосов
/ 25 октября 2011

enter image description here

Как решить проблему?

ИЛИ есть ли другой способ проверить, содержит ли результат какие-либо записи? (Кроме метода rdr.Read ())

кстати я использую Sqlserver Compact 3.5

1 Ответ

1 голос
/ 25 октября 2011

Вы говорите «кроме rdr.Read() метода», но мне кажется, что это самый естественный подход.

Вызовите Read(), и, если он вернет true, заполните результат, в противном случае установите для результата значение null.

Также обратите внимание, что

catch (Exception e)
{
    throw;
}

обычно является мерзостью, которую следует удалить.Я также поставил бы под сомнение проект и реализацию, которая:

  • Игнорируемые соглашения об именах (getSites)
  • Использовали возвращаемое значение bool, но всегда возвращали true, и outпараметр для реальных результатов
  • Не располагает самой командой
  • Объявлен метод rdr до того, как он понадобится, без видимой причины.(В любом случае это не будет полезным вне оператора using, так почему бы не объявить его там?)
...