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;  
相關文章
相關標籤/搜索