Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Има ли грешка в SqlDataReader.HasRows при работа срещу SQL Server 2008?

Аз съм оригиналният автор на посочения въпрос (загубено влизане) и никога не успях да го разбера. В крайна сметка го отдадох на лошо вуду, пожертвах спретнатостта и избрах нещо като

bool readerHasRows=false;
while(reader.reader())
{
   readerHasRows=true;
   doStuffOverAndOver();
}
if (!readerHasRows)
{
   probablyBetterShowAnErrorMessageThen();
}

Това, което беше наистина странно, беше, че работи в една aspx страница, а не в друга, въпреки че кодовите блокове са почти идентични в лентата, използвана от съхранената процедура.

Излишно е да казвам, че от сега нататък избягвам .HasRows;)

РЕДАКТИРАНЕ - Management Studio показва съобщения в раздела за съобщения относно проблемната процедура и в моя проект. Така че това изглежда е причината за проблема. Но защо ще затрудни .HasRows??

РЕДАКТИРАНЕ 2 - Потвърдено, променена заявката, за да се избегнат предупредителните съобщения и .hasrows вече е вярно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Задайте публичен профил по подразбиране за поща от база данни (SSMS)

  2. TSQL:Създайте изглед, който има достъп до множество бази данни

  3. Преобразувайте колоната Datetime от UTC в местно време в оператора за избор

  4. Как да получите първия и последния ден от предходния месец (с времеви печат) в SQL Server

  5. codeigniter и odbc връзки