0

DBNull が発生するかどうかを確認しています。

C# コード:

tbDuration.Text = (string)MyReader["TDuration"]==DBNull?"":(string)MyReader["TDuration"];

しかし、DBNull でエラーが発生します。

エラー 4 'System.DBNull' は 'タイプ' ですが、'変数' C:\Visual Studio のように使用されます

DBNull を確認する方法は?

よろしく

お茶

4

4 に答える 4

3

null値をチェックするには、DBNull.Valueを使用します。

tbDuration.Text = 
MyReader["TDuration"]==DBNull.Value?"":(string)MyReader["TDuration"]

または、次を使用できます。

tbDuration.Text = 
DBNull.Value.Equals(MyReader["TDuration"]) ?"":(string)MyReader["TDuration"]
于 2013-01-02T13:23:51.960 に答える
3

DBNullタイプです。探しているのは、その型の静的メンバーです: DBNull.Value。このようなもの:

tbDuration.Text = MyReader["TDuration"] == DBNull.Value ? "" : (string)MyReader["TDuration"];

注:stringまた、比較のため に a にキャストする必要はありません。DBNull.Valueからの実際の結果に対しては機能しMyReader[]ますが、キャストした場合は機能しません。null でないことを確認したら、キャストします。

于 2013-01-02T13:22:04.763 に答える
1

DBNull.Value直接ではなく、をチェックする必要がありますDBNull

于 2013-01-02T13:21:54.850 に答える
0

System.DbNull.Valueは、 のインスタンスへの有効な参照ですSystem.DbNull

したがって、の静的な値のプロパティに対してチェックできますDBNull

DbNull.ValueそれだけではないはずですDbNull

(string)MyReader["TDuration"]==DBNull.Value?"":(string)MyReader["TDuration"];
于 2013-01-02T13:25:44.347 に答える