これはかなり簡単な質問ですが、「ベストプラクティス」の答えを探しています。 C#.NetのコールをOracleストアドプロシージャに設定しています。ストアドプロシージャは、すべてのNUMBER型の引数を受け入れるように設定されています。 Oracleではこれらの値をNULLに設定できるため、現在のストアド・プロシージャはIS NOT NULL
をチェックしています。かなり簡単。問題は、.NETコードでフィールドをDBNull.Value
に設定できないため、代わりにInt32.MinValue
が使用されることです。この不一致により、ストアドプロシージャチェックの問題が発生しています。私はストアドプロシージャの0
をチェックするよう開発者に依頼しましたが、これに対処するより良い方法があるのだろうかと疑問に思っていますか?最小値の概念がOracleに存在しないため、NULL
と0
の両方をチェックする必要があるようです。これはこれを扱う最善の方法ですか? ありがとう!Oracleストアドプロシージャの実行時にInt32.MinValueとNULLを処理する
0
A
答えて
1
.Netコードでは、intフィールドをDBNull.Valueに設定できないため、代わりにInt32.MinValueが使用されるという問題があります。
しないでください。代わりにNullable<int>
(別名int?
)を使用してください。はにはnull値があります。
ここではあなたはこれをやっていますが、無効を表すためにマジック値を使う必要はありません。
関連する問題
- 1. Oracle:ケースステートメントでNullを処理する
- 2. Oracleの未処理クエリの実行時にイベントをトリガーする方法
- 3. SQLストアドプロシージャからOracleストアドプロシージャを実行
- 4. 実行時COMException未処理
- 5. ストアドプロシージャを実行する際の例外処理
- 6. HibernateでOracleストアドプロシージャを実行する
- 7. SQLにアクセス - 実行時のエラー処理
- 8. C#Oracle - 順番にストアドプロシージャを実行
- 9. Entity FrameworkのドロップダウンリストでNULLを処理するストアドプロシージャ
- 10. Oracle SQL:Varchar2をNumberに変換してNullを処理する
- 11. Oracleでのループ処理と動的クエリの実行
- 12. 実行時許可の処理
- 13. PreviewMouseLeftButtonDownとドラッグアンドドロップイベントを処理する方法Wpfで同時実行
- 14. Oracleでのストアドプロシージャの並列実行
- 15. ストアドプロシージャのパラメータ - 時にはNULL
- 16. Springセキュリティ処理同時実行例外
- 17. 実行時に大きなオブジェクトを処理する方法
- 18. 実行時にDjangoで動的フィールドを処理する方法
- 19. iPhone - 実行時にエラーを処理する方法
- 20. Oracle 11gが10gとは異なる改行を処理する
- 21. DocumentDbストアドプロシージャとオプティミスティック同時実行
- 22. 開始時にリアクティブ値をNULLに処理する
- 23. Oracle SQLのminvalue/maxvalueシーケンス構文エラー
- 24. RxJavaで長時間実行するタスクを処理する
- 25. ASP.NETでDBNullとnullを処理する
- 26. データセットとLINQでnullを処理する
- 27. 長時間実行クエリとノードアプリケーションの処理
- 28. 実行時にパーミッションをチェックするときのアクティビティコンテキストポインタのNULLポインタエラー
- 29. Seleniumテスト実行時にイベントを処理できますか?
- 30. 実行時例外java.lang.ClassNotFoundExceptionストアドプロシージャの実行時