問題タブ [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.
c# - 演算子'??' タイプ「string」および「System.DBNull」のオペランドには適用できません
私は次のC#コードを持っています:
ただし、次のコンパイルエラーがスローされます。
タイプおよびタイプのオペランドに演算子
??
を適用することはできませんstring
System.DBNull
コンパイラがこの構文を許可しないのはなぜですか?
.net - データセット dateTime Dbnull
問題を回避する方法は?dbnul が例外を飛ばすとき。
.net - DBNullのポイントは何ですか?
.NETにはnull
、オブジェクト参照が空であることを示すためにどこでも使用される参照があります。次に、DBNull
データベースドライバー(および他のいくつか)によって使用される参照があります...ほとんど同じことを示します。当然、これは多くの混乱を引き起こし、変換ルーチンを解き放つ必要があります。
では、なぜ元の.NET作成者がこれを作成することにしたのでしょうか。私にはそれは意味がありません。彼らのドキュメントも意味がありません:
DBNullクラスは、存在しない値を表します。たとえば、データベースでは、テーブルの行の列にデータがまったく含まれていない場合があります。つまり、列は単に値を持たないのではなく、まったく存在しないと見なされます。DBNullオブジェクトは、存在しない列を表します。さらに、COM相互運用機能はDBNullクラスを使用して、存在しない値を示すVT_NULLバリアントと、指定されていない値を示すVT_EMPTYバリアントを区別します。
「列が存在しない」についてのこのがらくたは何ですか?列が存在しますが、特定の行の値がありません。存在しなかった場合、DBNull
!ではなく、特定のセルにアクセスしようとすると例外が発生します。VT_NULL
とを区別する必要があることは理解できますが、代わりにクラスをVT_EMPTY
作成してみませんか?COMEmpty
これは、.NETFramework全体に非常にうまく適合します。
私は何かが足りないのですか?なぜDBNull
発明されたのか、それがどのような問題を解決するのに役立つのか、誰かが光を当てることができますか?
c# - SqlParameterにnullを割り当てます
次のコードはエラーを出します-「DBnullからintへの暗黙の変換はありません。」
.net - DBNullをチェックすると、StrongTypingExceptionがスローされます
データセットを使用してDBからデータをプルしています。行のフィールドの1つはですNULL
。私はこれを知っている。ただし、次のvb.netコードはStrongTypingException
(データセットデザイナーの自動生成されたget_SomeField()メソッドで)をスローします。
ドキュメントとこの質問によると、それは問題ないはずです。
編集:If aRow.SomeField is DBNull.Value Then
同じエラーを返します。ああ。
c# - 列の名前で MySqlDataReader の NULL をチェックする方法は?
NULL
openの値を確認するにはどうすればよいMySqlDataReader
ですか?
以下は機能しません。それは常にヒットしていelse
ます:
rdr.IsDbNull(int i)
名前ではなく、列番号のみを受け入れます。
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 アーキテクチャを維持する必要があります。
仲間のオタクを助けてください... あなたは私の唯一の希望です!
asp.net - DBNULLをdoubleに変換する方法は?
データベースから値を取得しています。「DBNULLからDoubleへの変換は無効です」というエラーが発生しました。誰か、plsは私を助けますか?
パブリック関数Total()As Double Dim Total As Double
vb.net - Null値で列を更新しています
テーブルに日付フィールド(smalldatetime)があり、特定の場合、日付フィールドをnullに設定する必要があります。現在、sqlparameter.valueプロパティを日付に設定する場合
endDateParam.Value = "5/15/2011"
フィールドは適切な日付で更新されます。ただし、
endDateParam.Value = System.DbNull.Value
フィールドを更新しません。
背後にあるコード:
アップデート
endDateParam.Value = System.Data.SqlTypes.SqlDateTime.Null
まだフィールドを更新していないようです。エラーは返されません。
c# - 挿入時に SQL Server から SCOPE_IDENTITY を取得する
手遅れだと思いますし、疲れすぎて自分が間違っていることを理解できません。ここに私がしようとしているものがあります:
ストアド プロシージャ:
DBNull を spParams[0].Value として取得します。@IMAGE_ID の値をストアド プロシージャの定数に設定しようとしましたが、何も変更されなかったので、問題はストアド プロシージャにありません (それが私の考えです)。
SQL Management Studio からプロシージャを実行すると、insert_id が返されます。