2011-10-25 1 views
0

enter image description hereSqlCeDatareader.HasRows

どのように問題を解決するために、例外上げ?

OR結果がすべてのレコードが含まれているかどうかを確認するために他の方法がありますか?(rdr.Read()メソッドを除く)

ところで私は、あなたが「rdr.Read()方法以外」と言うのSQLServerコンパクトに3.5

答えて

1

を使用していますしかし、それは私にとって最も自然なアプローチのように感じます。

Read()を呼び出し、trueを戻す場合は結果を、そうでない場合は結果をnullに設定します。

catch (Exception e) 
{ 
    throw; 
} 

は、一般的に除去されなければならない醜態であることに注意します。

  • は処分しなかった本当の結果を得るために
  • が真を返し、必ずbool戻り値を使用しますが

    • 無視された命名規則(getSites)、およびoutパラメータ:私はまた、設計と実装を問うだろうコマンド自体の
    • 明示的な理由のために、それが必要となる前に方法の方法をrdrと宣言しました。 (それはとにかくusing文の外に便利であることを行っていないので、なぜそこにそれを宣言しないのですか?)
  • +0

    あなたが読むを呼び出すいけない場合、あなたも最初の行のデータを取得する習慣なので、私は確かじゃありませんよOPは後になります:S – leppie

    +0

    実際に.Readはレコードをさらに進めますので、最初のレコードを見逃しています。そして、デザインに関する提案に感謝します。:) – dotNETbeginner

    +1

    @dotNETbeginner:ただ拡張メソッドを無条件に呼び出すだけです。行がなければ結果は戻ってこないでしょう。 –