これはかなり簡単な質問ですが、「ベストプラクティス」の答えを探しています。 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. SQLストアドプロシージャからOracleストアドプロシージャを実行
- 2. 実行時COMException未処理
- 3. ストアドプロシージャを実行する際の例外処理
- 4. Entity FrameworkのドロップダウンリストでNULLを処理するストアドプロシージャ
- 5. PreviewMouseLeftButtonDownとドラッグアンドドロップイベントを処理する方法Wpfで同時実行
- 6. ストアドプロシージャのパラメータ - 時にはNULL
- 7. Oracleでのストアドプロシージャの並列実行
- 8. Springセキュリティ処理同時実行例外
- 9. 実行時にDjangoで動的フィールドを処理する方法
- 10. iPhone - 実行時にエラーを処理する方法
- 11. Oracle 11gが10gとは異なる改行を処理する
- 12. ASP.NETでDBNullとnullを処理する
- 13. Seleniumテスト実行時にイベントを処理できますか?
- 14. 実行時例外java.lang.ClassNotFoundExceptionストアドプロシージャの実行時
- 15. 一時ストアドプロシージャを実行中のC#
- 16. 実行時にコンパイラが行番号を処理する方法エラーメッセージ
- 17. プログラムの実行時間を処理していますか?
- 18. ストアドプロシージャの例外処理
- 19. 長時間実行されているWebリクエストの処理
- 20. 。ビューの作成時にストアドプロシージャを実行する
- 21. NHibernateがアプリケーションの実行時にスキーマの変更を処理する方法
- 22. ストアドプロシージャの実行時間は、正しい
- 23. 実行時にコントロールのイベントを処理する(ON USER CONTROLまたはWEB PART)
- 24. トランザクションの同時実行性を宣言的に処理する方法は?
- 25. は、私がsignitureとOracleのストアドプロシージャを持つOracleのストアドプロシージャ
- 26. spring&plsqlストアドプロシージャ - 例外処理とトランザクション
- 27. スクリプト処理時間の最初の実行
- 28. 実行時に実行時にSpringブート管理ポートを取得する
- 29. Oracle 11gで行(カーソル)処理を最適化する
- 30. Magento&Oracle間のクレジットカード処理