問題タブ [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.

0 投票する
5 に答える
16693 参照

c# - 演算子'??' タイプ「string」および「System.DBNull」のオペランドには適用できません

私は次のC#コードを持っています:

ただし、次のコンパイルエラーがスローされます。

タイプおよびタイプのオペランドに演算子??を適用することはできませんstringSystem.DBNull

コンパイラがこの構文を許可しないのはなぜですか?

0 投票する
1 に答える
309 参照

.net - データセット dateTime Dbnull

問題を回避する方法は?dbnul が例外を飛ばすとき。

0 投票する
6 に答える
15978 参照

.net - DBNullのポイントは何ですか?

.NETにはnull、オブジェクト参照が空であることを示すためにどこでも使用される参照があります。次に、DBNullデータベースドライバー(および他のいくつか)によって使用される参照があります...ほとんど同じことを示します。当然、これは多くの混乱を引き起こし、変換ルーチンを解き放つ必要があります。

では、なぜ元の.NET作成者がこれを作成することにしたのでしょうか。私にはそれは意味がありません。彼らのドキュメントも意味がありません:

DBNullクラスは、存在しない値を表します。たとえば、データベースでは、テーブルの行の列にデータがまったく含まれていない場合があります。つまり、列は単に値を持たないのではなく、まったく存在しないと見なされます。DBNullオブジェクトは、存在しない列を表します。さらに、COM相互運用機能はDBNullクラスを使用して、存在しない値を示すVT_NULLバリアントと、指定されていない値を示すVT_EMPTYバリアントを区別します。

「列が存在しない」についてのこのがらくたは何ですか?列が存在しますが、特定の行の値がありません。存在しなかった場合、DBNull!ではなく、特定のセルにアクセスしようとすると例外が発生します。VT_NULLとを区別する必要があることは理解できますが、代わりにクラスをVT_EMPTY作成してみませんか?COMEmptyこれは、.NETFramework全体に非常にうまく適合します。

私は何かが足りないのですか?なぜDBNull発明されたのか、それがどのような問題を解決するのに役立つのか、誰かが光を当てることができますか?

0 投票する
18 に答える
326346 参照

c# - SqlParameterにnullを割り当てます

次のコードはエラーを出します-「DBnullからintへの暗黙の変換はありません。」

0 投票する
6 に答える
21110 参照

.net - DBNullをチェックすると、StrongTypingExceptionがスローされます

データセットを使用してDBからデータをプルしています。行のフィールドの1つはですNULL。私はこれを知っている。ただし、次のvb.netコードはStrongTypingException(データセットデザイナーの自動生成されたget_SomeField()メソッドで)をスローします。

p>

ドキュメントとこの質問によると、それは問題ないはずです。

編集:If aRow.SomeField is DBNull.Value Then同じエラーを返します。ああ。

0 投票する
9 に答える
22153 参照

c# - 列の名前で MySqlDataReader の NULL をチェックする方法は?

NULLopenの値を確認するにはどうすればよいMySqlDataReaderですか?

以下は機能しません。それは常にヒットしていelseます:

rdr.IsDbNull(int i)名前ではなく、列番号のみを受け入れます。

0 投票する
2 に答える
789 参照

asp.net-mvc - 完全に正当な DBNULL を扱うのに問題があります。モデル データ ビューとして渡される DataSets DataTables の使用。ASP.NET MVC2

私は MVC が大好きですが、残念ながらすべてのチュートリアル、デモ、およびすべてのリソースで Entity Framework を使用して ViewData を生成し、ほとんどの場合、DataSet の代わりに LINQ to SQL を使用しています。
私は既存のビジネス ロジックを再利用しており、クライアント (彼自身が優れたコーダーである) はデータセットを使い続けたいと考えているため、これらから離れることはできません。

データベースで NULL が許可されている列を含むテーブルが 1 つあります。これらにアクセスしようとすると、null かどうかを確認するために例外が発生します。

「テーブル 'FNN_CARRIERS_DESC' の列 'FNN_CARRIERS_DESC' の値は DBNull です」

これは、dataset.designer.vb ファイルによって生成されます。

私はあなたが何を言おうとしているのか知っています。"FNN_BRAND IS Null!!!" そしてそれは本当です。しかし...スタックトレースに従ってください。このエラーを生成しているコードの行は次のとおりです。

ガイダンスをいただければ幸いです。私の直感では、これは厳密には MVC の問題ではなく、データセットについて理解していない可能性があります。

これは、例外をスローする reference.vb ファイル内のコードです。

私が試したこと:

  • 例外をコメントアウトすると、null が返されますが、これは私が望むものですが、テーブルが変更されるか、テーブル結果を生成するストアド プロシージャが変更されると、データセットが再構築されます。
  • データテーブルの列のルールを変更しました。実際には結果が得られず、テーブルの再生成でもオーバーライドされます。
  • IsNothing(column) または isDBnull(column) は、列が取得およびキャストされているため、実際にはエラーを引き起こします。

これを解決する最善の方法を知る必要があります。うまくいけば、MVC アーキテクチャを維持する必要があります。

仲間のオタクを助けてください... あなたは私の唯一の希望です!

0 投票する
6 に答える
7623 参照

asp.net - DBNULLをdoubleに変換する方法は?

データベースから値を取得しています。「DBNULLからDoubleへの変換は無効です」というエラーが発生しました。誰か、plsは私を助けますか?

パブリック関数Total()As Double Dim Total As Double

0 投票する
3 に答える
4396 参照

vb.net - Null値で列を更新しています

テーブルに日付フィールド(smalldatetime)があり、特定の場合、日付フィールドをnullに設定する必要があります。現在、sqlparameter.valueプロパティを日付に設定する場合

endDateParam.Value = "5/15/2011"

フィールドは適切な日付で更新されます。ただし、

endDateParam.Value = System.DbNull.Value

フィールドを更新しません。

背後にあるコード:

アップデート

endDateParam.Value = System.Data.SqlTypes.SqlDateTime.Null

まだフィールドを更新していないようです。エラーは返されません。

0 投票する
3 に答える
5482 参照

c# - 挿入時に SQL Server から SCOPE_IDENTITY を取得する

手遅れだと思いますし、疲れすぎて自分が間違っていることを理解できません。ここに私がしようとしているものがあります:

ストアド プロシージャ:

DBNull を spParams[0].Value として取得します。@IMAGE_ID の値をストアド プロシージャの定数に設定しようとしましたが、何も変更されなかったので、問題はストアド プロシージャにありません (それが私の考えです)。

SQL Management Studio からプロシージャを実行すると、insert_id が返されます。