問題タブ [dbnull]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - VB.NET2010およびMySql-怠惰な人々のためのDBNULLの処理
MySqlデータベースからのデータでクラスを初期化したい。一部のフィールドはnullになる可能性があります。
db内の最後の2つのフィールドがNULLである可能性があるため、そのフィールドでGetStringを呼び出すと例外が発生するとします。
各フィールドを取得する前に、NULLをテストするコードを確実に記述できます。
しかし、多くのフィールドがある場合、これは「ifs」の悪夢です。
この目的のために、私はIIf VB関数を書き直して、より型指定されたものにし、キャストを回避しました。
私が次のようなものを書くことができるように:
型指定されたIIfは他の場合にはうまく機能しますが、残念ながらこの場合は機能しません。これは、言語キーワードではなく通常の関数であるため、呼び出し中に各inpoutパラメーターが評価され、フィールドがNULLの場合は例外が発生します。 。
エレガントなif-lessソリューションを思いつくことができますか?
.net - DBNull を比較するには何を使用すればよいですか? DBNull.Value または ToString().IsNullOrEmpty() の使用
DBnull
いずれかの方法を使用して、データ行の を確認できます。
どちらかを使用して
またはすることによって
どちらの場合も、同じ結果が得られます。
しかし、どちらが概念的に正しいアプローチですか。どちらがより少ないリソースを使用しますか
c# - C#?? null 合体演算子の質問
Class PersonプロパティのBirthdayをnull 許容 DateTime として定義しましたか? では、次の例で null 合体演算子が機能しないのはなぜですか?
私が得たコンパイラ エラーは「演算子 '??' でした。タイプ「System.DateTime?」のオペランドには適用できません。および「System.DBNull」」
以下もコンパイルエラーになりました:
リファクタリングで推奨されているように (オブジェクト) にキャストを追加し、コンパイルしましたが、正しく動作せず、値は両方の場合で sqlserver db に null として格納されました。
誰かがここで何が起こっているのか説明できますか?
次の不器用なコードを使用する必要がありました。
c# - DBNullの簡潔な使用法?(三元?)
三項演算子にはタイプの混乱があるようです。これは他のSOスレッドで対処されていることは知っていますが、常にnull可能です。また、私の場合、私は本当にもっと良い方法を探しています。
使えるようになりたい
しかし、代わりに私はこれで立ち往生しています:
DBNullと文字列の間で変換が不可能なため、三項演算子は失敗します。Valueがオブジェクトであると考えると、それはばかげているように見えますが、コンパイラはそれを私にキックバックし、私は気にする必要があります。この質問のnull許容バージョンに対する答えは、nullを文字列にキャストしてそれで実行することです。ただし、DBNullを文字列にキャストすることはできないため、運がありません。
これを行うためのより簡潔な方法はありますか(ちなみに、nullablesを使用せずに)
ありがとう!
winforms - DataGridViewComboBoxのnull値
コンボボックス列を持つWindowsフォームのDataGridViewがあります。コンボボックスの列は、LinqtoEntitiesクエリから入力されたデータソースにバインドされています。ユーザーがコンボボックスで「なし」を選択できるようにしたいと思います(基になるデータソースにNULLの値を割り当てます)。
どうすればこれを達成できますか?
c# - DBNull.Value の処理
グリッド コントロールに接続された DataTable を頻繁に処理する必要があります。カスタム更新では、常に DBNull.Value に関連する多くのコードが生成されるようです。ここで同様の質問を見ましたが、より良い答えがあるに違いないと思います:
私が見つけたのは、データベースの更新をメソッドにカプセル化する傾向があるため、DBNull.value を null 許容型に移動してから更新のために戻す以下のようなコードになります。
これはフローの単なる例であり、コードは機能していません。オブジェクトを渡したり、「型として」を使用して潜在的なキャストの問題を飲み込んだりして、DBUll を直接 null にできることはわかっていますが、これらは両方とも潜在的なエラーを隠しているように見えます。null 許容型のメソッドの型安全性が気に入っています。
型の安全性を維持しながらこれを行うためのよりクリーンな方法はありますか?
c# - C#/Oracle10g = null vs DBNull.Value vs String.Empty
私は、C# からの Oracle へのアクセスに初めて取り組んでいます。私は、Oracle が(C#)VarChar
の値を持つパラメーターを好まないことを発見しました。null
暗黙の変換があることを望んでいましたが、その違いに感謝しています。
したがって、これらの null 値をトラップしてDBNull.Value
代わりに供給する必要がありますか? 最も明白な方法は、合体演算子を使用することでした??
:
System.DBNull
...の値を受け入れないことを除いて、次を使用する必要があります。
...これは確かに次と同じです:
..これも機能します。
しかし、ANSI SQL 規則によれば、空の文字列 ("") != NULL 値であることは常に理解していましたが、Oracle にはあるようです。
とにかく、私の質問は、null 文字列値のケースを処理するための、実用的または理論的な最善の方法は何ですか? 私が特定していない巧妙な代替手段はありますか? それとも、これは私たちが受け入れているオラクルの別の特異性ですか?
c# - タイプの検証が失敗するたびに、バインドされたMaskedTextBoxのDBNullを返しますか?
マスク"00/00/0000"、PromptChar "_"、およびDateTimeのValidatingTypeを持つMaskedTextBoxコントロールがあり、null値も受け入れることができるデータベースのDateTime列にバインドされています。
DBNullの場合は、有効な日付を入力するか、空白のままにする(つまり、「__ / __ / ____」)必要があります。
TypeValidationCompletedイベントを使用することで、有効な日付が入力されたかどうかを判断できますが、日付が指定されていないか、無効な日付が指定されている場合は常に値をDBNullに設定する方法がわかりません。
検証が失敗するたびにMaskedTextBoxからDBNull値を取得するにはどうすればよいですか?
.net - Nothing および/または DBNull を割り当てることができるカスタム構造?
Nothing および/または DbNull.Values を割り当てることができ、Nothing としてインスタンス化することもできるカスタム構造をデカールすることが可能であるかどうか、誰でもアドバイスできますか?
私が探しているのは、データベース クエリから DBNull.Value を受け取り、Nothing として開始できるカスタム DateTime オブジェクトを作成することです。これは可能ですか?
前もって感謝します。
よろしく、デュアン
c# - DateTimeDBNullの処理
私はこれの多くのバージョンをSOで見ましたが、どれも私のニーズにうまく機能していないようです。
私のデータは、DateTimeフィールドにnullを許可するベンダーデータベースから取得されます。まず、データをDataTableにプルします。
処理のためにDataTableをList<>に変換しています。
では、このインスタンスでDBNullをチェックするにはどうすればよいですか?メソッドを書いてみました。