2016-07-25 14 views
0

SqlDataReaderを使用してDBからデータを読み込んでいます。データを読み取る前に、どのような方法でチェックするのが最適です。どちらが3読み込み前にSQLDataReaderをチェックする最良の方法

のうち、方法1が最良である

using (SqlDataReader objReader = sqlCommand.ExecuteReader()) 
        { 
         if (objReader != null) 
         { 
          while (objReader.HasRows && objReader.Read()) 
          { 
           //code 
          } 
         } 
        } 

方法2

   using (SqlDataReader objReader = sqlCommand.ExecuteReader()) 
        { 
         if (objReader != null) 
         { 
          while (objReader.Read()) 
          { 
           //code 
          } 
         } 
        } 

方法3ヌル

   using (SqlDataReader objReader = sqlCommand.ExecuteReader()) 
        { 

          while (objReader.HasRows && objReader.Read()) 
          { 
           //code 
          } 

        } 
+0

。このような種類の質問は話題にはならない。 –

+0

@TimSchmelterありがとう、ちょうどHasRowでNULL状態をチェックする必要があるかどうかを知りたい – user1926138

答えて

1

AfaikSqlCommand.ExecuteReader決して戻ります。それはいろいろな叫び声を投げることができるが、決してヌルではない。したがって、このチェックは冗長です。

ループの繰り返しごとにHasRowsかどうかを確認する必要もありません。その情報は、毎回ではなく、最初から役立ちます。しかし、それは必要ではありません。レコードがないときにレコードを読み取ろうとすると、エラーは発生しません。

だから私は(意見ベース)この好む:ベスト意見に基づいている

using (SqlDataReader objReader = sqlCommand.ExecuteReader()) 
{ 
    if(objReader.HasRows) 
    { 
     while (objReader.Read()) 
     { 
      //code 
     } 
    } 
    else 
    { 
     // output/ log this? 
    } 
} 
関連する問題