Text資料型別,引數化查詢但未提供該引數(將null插入資料庫)
阿新 • • 發佈:2018-11-14
當你是使用引數化查詢時為引數賦時,比如command.Parameters.Add(@a,SqlDbType.Text,30).Value=a;當a=null是將報錯: 錯引數化查詢 '(@a varchar(100)....' 需要引數 '@a',但未提供該引數 只是因為你給a的為null,而資料庫中的null(空)是System.DBNull 類
當你是使用引數化查詢時為引數賦值時,比如command.Parameters.Add("@a",SqlDbType.Text,30).Value=a;當a=null是將報錯: 錯引數化查詢 '(@a varchar(100)....' 需要引數 '@a',但未提供該引數只是因為你給a的值為null,而資料庫中的null(空)是System.DBNull 型別的不是同一類。所以在插入空的時候要用DBNull,而不是null, 所以可以這樣改:
?? :?? 運算子稱作 null 合併運算子。如果此運算子的左運算元不為 null,則此運算子將返回左運算元;否則返回右運算元。 但是還是會報下面的錯誤。
解決方法: 很簡單隻要在後面加上 ToString()就好了; 如下
|