sqlserver数据可空插入报错

 

数据库和C#中均为可空类型。
这时候直接给字段赋值为null
parameters[9].Value = null ; 
执行的时候报错了,一大堆,总之说它少了一个参数。
用sql server profiler 工具查看执行代码 如下图:
 

    

这时候才找到原因:     C#中赋值为null的字段到了数据库执行变成了default。
下面是解决方案:
加一个判断:当字段的值为null时,赋值为DBNull.Value。
parameters[9].Value = model.RedoDate == null ? (object)DBNull.Value : model.RedoDate;  

 

posted @ 2017-06-01 12:22  杨铭宇  阅读(325)  评论(0编辑  收藏  举报
友情链接:回力球鞋 | 中老年女装 | 武汉英语学校 | 雅思备考 | 托福备考