SQLiteでExecuteScalarで値を取得する際に
- var value = cmd.ExecuteScalar();
- if (DBNull.Value.Equals(value))
- {
- // 存在しない
- }
- else
- {
- // 存在する
- }
としても上手く判定出来ない?デバッグ作業で分かったのは
- if (DBNull.Value.Equals(value)
- {
- // 存在しない
- }
- else if (value == null)
- {
- // null
- }
- else
- {
- // 存在する
- }
とすると「存在しない」ではなく「null」になる。これが現在利用している環境のバグなのか仕様なのか謎だな!
追記 2023.2.16 18:25
Windows 11 Pro 22H2 ビルド 22621.1265
Visual Studio Community 2022 Ver. 17.4.4
Sysrem.Data.SQLite.Core Ver. 1.0.116
0 件のコメント:
コメントを投稿