問題タブ [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 投票する
1 に答える
1121 参照

asp.net - カスタム式による双方向バインディング?

データベースからいくつかのレコードを表示および変更するために、asp.net プロジェクトで gridview を使用しています。データベースには、start_date と end_date の 2 つの列があります。新しいレコードが作成されると、これらの列には null が含まれますが、後で gridview update コマンドを使用して変更できます。

gridview には、2 つのカレンダー コントロールを配置した 2 つのテンプレート フィールド (start_date と end_date という名前) があります。gridview の更新リンクをクリックすると、null 値がカレンダーにバインドされているため、常にエラーが返されます。このヘルパー関数を使用して解決しました:

カレンダー コントロールの SelectedDate で次の 2 つのカスタム式を使用しました。

問題は、日付の選択時にカレンダーをバインドする双方向データがデータベース テーブルを更新しないことです。回避策はありますか? あるいは、より良い解決策があれば幸いです。

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

sql - SQLビューはnull以外のテーブルからnull許容列を推測しますか?

null以外の「quantity」(decimal)列と「status」(int)列を持つProductテーブルがあり、次のケース式を使用してこのテーブルにビューを作成しました。

ProductTypeIdは、null以外として正しく推測されます。ただし、基になる列がNULL可能ではない場合でも、このビューの数量列はNULL可能であると推測されます。これは私には意味がありません。

この場合、ISNULL / COALESCEを使用してデフォルト値を提供し、null可能性を強制することはできますが、意味のあるデフォルト値はありません。これは、私が理解していることから、そもそも発生しないはずです。何が起こっているのかアイデアはありますか?

0 投票する
8 に答える
3764 参照

c# - NULL 値のキャスト

クラス オブジェクトにデータベース テーブルの値を設定しようとしています。フィールドは null 許容のsomeObject.Propertyint 型です。

したがって、SomeFieldisの場合null、エラーConvertが発生しDBNullます。これに使用する必要がある特定の方法はありますか?

0 投票する
4 に答える
6286 参照

asp.net - ASP.NETインライン式のDBNullからStringへのキャストエラーがあります

やあみんな、私のデータベースのテーブルには、「Nulls」を許可する「説明」フィールドがあります。これにより、ASP.NETでページをレンダリングするときに問題が発生します。これは、途中でエンコードするときに、データベースから出力される文字列を確実にデコードするためです。当然、説明にはいくつかのNULLがあります。残しておきたいフィールド。

したがって、私のASP.NETページにはこのコードがあります

したがって、ページをレンダリングすると、次のようになります。

私の見方では、2つの選択肢があります。

  • ロード中にバインド

また

  • テーブルをNULL以外のテーブルにし、代わりに空の値を使用します

誰かがおそらくより良いアイデアを持っていますか?

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

select - SQL Server db から NULL 値を選択

select ステートメントに問題があります。

次のようになります。

しかし、その DBNull.Value を機能させる方法がわかりません。代わりに "" を使用してみましたが、うまくいきません。

このステートメントを書き直す方法についてのアイデアはありますか? ありがとうございました。

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

asp.net - DropDownList は DbNull にバインドできません

DbNull にバインドしようとしている DropDownList がありますが、満足していません。value=" " で ListItem を作成することについてのアドバイスを見てきましたが、これはうまくいきません。

どんな助けでも大歓迎です。

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

c# - Informix(C#):blobフィールドを適切に設定/設定解除するにはどうすればよいですか?

IBM Informix SDK:

声明:Update mytable set myblobcolumn = ? where myid = 1;

別のIfxBlobオブジェクトで更新すると正常に動作しますが、更新するとDBNull.Valueエラーが発生します。パラメータ化された更新を使用してblob列を「設定解除」する方法を知っている人はいますか?


アップデート:

わかりました、私はいくつかの調査を行い、物事を少し減らしました。

まず、IfxTypeパラメーターを生成するときに明示的に宣言すると、データベース内のnull値から切り替えて実際のIfxBlobを使用するときに、.NETドライバーがDBNull.ValueまたはByte[]配列を変換する際に問題が発生することがわかりました。データベース。基本的に:

  • 列に値が含まれていて、代わりにnullを格納したい場合は、次のようにパラメーターを型キャストする必要がありますUPDATE mytable SET myblobcolumn = ?::byte WHERE myid = 1;DBNull.Valueこれにより、の値をエラーなしで保存できます。
  • 列にnull値が含まれていて、代わりに実際の値を格納したい場合は、次のようにパラメーターを型キャストする必要がありますUPDATE mytable SET myblobcolumn = ?::blob WHERE myid = 1;。これにより、IfxBlob値を保存できます。

さて、これをすべて回避するために、Parameterの初期化をParameterNameプロパティの設定のみに減らしましたvar param = new IfxParameter { ParameterName = "myblobcolumn" }(それでも、コレクションから参照できるようにするだけで、それ以上は何もしません)。これにより、パラメーターを型キャストしなくてもステートメントを保持できます。

だから...私は次のように残されています:

声明:UPDATE mytable SET myblobcolumn = ? where myid = 1;

これは問題なく動作しますが、これに似たInformix .NETドライバー(3.50.xC7)のバグを発見したと思います。基本的に、提供されたリンクは、挿入を行うときに.NETドライバーがbyte[]配列を適切に使用してblobを作成できないバグが発見されたことを示しています。これは、 INSERTステートメントを実行cmd.Parameters["myblob"].Value = new Byte[] { 0x1, 0x2 };するときに文字通り実行できるという点で修正されています。ただし、UPDATEステートメントにbyte []配列を使用すると、ドライバーは例外を出します。したがって、実際にIfxBlobインスタンスを作成し、実際のbyte[]配列の代わりにそれらを使用する必要がありました。

これがドライバーのバグではない場合、この質問を開いたままにして、ブロブフィールドを設定/設定解除する適切な方法がUPDATESにbyte[]配列を使用していることを確認する必要があります。

0 投票する
4 に答える
564 参照

c# - とにかくDBNullは何のために必要ですか?

重複の可能性:
DBNull のポイントは何ですか?

.NET の冒険を始めて以来、私は常に 1 つの質問を自問してきました。

なぜ DBNull 型が必要なのですか? 単純な null 参照では不十分ですか?

MSDN は、DBNull は「存在しない値を表す」と述べています。論理的な観点から、この一文は null 参照が使用できない理由を説明しています。なぜなら、それは null 参照であり、値の欠如ではないからです。しかし、多くのトラブルを引き起こすタイプを導入するだけで十分ですか?

ところで:誰かが弁護のために何か言いたいことがあれば、DBNull私は本当に感謝します.

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

.net - Byte()をDate()に変換する際の問題

DALに、1つのアイテム、日付をもたらすクエリがあります。日付またはnullのいずれかです。しかし、値がnullの場合、エラーが発生します。

タイプ「DBNull」からタイプ「日付」への変換は無効です。

クエリ

これが私の関数の呼び出し方です。

保証金が支払われた場合、テーブルに日付がありますが、そうでない場合はnullのままになります。

すべての助けは大歓迎です!

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

c# - ?? system.DBNull の演算子

これを単純化するための演算子または組み込み関数はありますか:

私は次のようなことができることを知っています:

しかし、私には多くのオブジェクトがあり、それを避けたい:

関数を作成することもできます。

最も簡単な方法は、?? を使用することです。演算子ですが、問題は「dataColumn」が ?? と互換性がないことです。null の代わりに system.DBNull を返すことがあるためです。即時ウィンドウ出力を見てください。

if..then なしで dataColumn.toString()=="" の場合に "-" を返すことができる (文字列) 関数または演算子があるのだろうか (なぜなら、それらすべてに対して多くの if..then を作成する必要があるからです)それ以外の場合は、上記の関数アプローチを使用します。