3

null 許容の DateTime 変数があります。そして、それをSQL DBに書きたいです。挿入しようとすると:

変数に値があれば問題ありません。

ただし、値がない場合、挿入はエラーで中断されます。

質問したいのですが、DbCommand パラメータを介して null 許容の DateTime を Sql に挿入するにはどうすればよいですか?

(PS:SQL列もnull可能です。)

DateTime? myDate = null;
DbCommand dbCommand = new DbCommand();
dbCommand.Parameters.Add("NullableSqlDateField", DbType.DateTime, myDate);
4

2 に答える 2

13

null合体演算子を試してください:

dbCommand.Parameters.Add("NullableSqlDateField", DbType.DateTime, (object) myDate ?? DbNull.Value);
于 2011-12-29T14:37:55.447 に答える
0

これを試して

if(myDate.HasValue)
  dbCommand.Parameters.Add("NullableSqlDateField", DbType.DateTime, myDate.Value);
else
  dbCommand.Parameters.Add("NullableSqlDateField", DbType.DateTime, DbNull.Value);
于 2011-12-29T14:43:18.843 に答える