SQLDataReader から Null を取得する際のエラーの回避
SQLDataReader
の操作には、多くの場合、データベース列内の潜在的な null 値の処理が含まれます。 NULL 列に文字列として直接アクセスすると、例外が発生します。 この記事では、そのようなエラーを防ぐ安全な方法を説明します。
IsDBNull
ソリューション
最も信頼性の高いアプローチは、データを取得する前に IsDBNull
メソッドを使用することです。
<code class="language-csharp">if (!SqlReader.IsDBNull(indexFirstName)) { employee.FirstName = sqlreader.GetString(indexFirstName); }</code>
この条件チェックにより、GetString
の列に null 以外の値が含まれる場合にのみ indexFirstName
メソッドが呼び出されます。
拡張メソッドによる効率化
よりクリーンなコードを実現するには、null チェックをカプセル化する拡張メソッドを作成します。
<code class="language-csharp">public static string SafeGetString(this SqlDataReader reader, int colIndex) { return reader.IsDBNull(colIndex) ? string.Empty : reader.GetString(colIndex); }</code>
この SafeGetString
メソッドは、列が null の場合に空の文字列を返し、データの取得を簡素化します。
<code class="language-csharp">employee.FirstName = SqlReader.SafeGetString(indexFirstName);</code>
これらの手法を実装すると、SQLDataReader
を使用した SQL データベースからの堅牢なデータ取得が保証され、予期しない null 値によって引き起こされる例外が防止されます。
以上がSQLDataReader を使用するときに Null 値を安全に処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。