我已經開始將我的應用程序轉換爲使用Option Strict On。我一直在做CStr,Ctype等,並且一切順利。Option Strict On和DBNull.Value
SQLCommand.Parameters.AddWithValue("@TERMINATE", If(IsNothing(txtEarningsTerminated.DateValue), DBNull.Value, txtEarningsTerminated.DateValue))
然後我打這個。 txtEarningsTerminated.DateValue是一個自定義屏蔽的文本框。當它的值是Nothing時,我不想在數據庫中存儲任何內容。但是,它聲明
Cannot infer a common type, and Option Strict On does not allow 'Object' to be assumed.
當我將DBNull.Value更改爲「」或什麼也沒有,錯誤消失。然而,由於沒有,它在運行時陳述失敗
The parameterized query '(@CONTROL int,@CLIENTCODE nvarchar(10),@NoBill int,@TERMINATE nv' expects the parameter '@TERMINATE', which was not supplied.
我想要在數據庫中的NULL。此值可以是日期,然後變爲NULL。
如何翻譯此以免在Option Strict On下產生錯誤?
嘗試在您的存儲過程中爲此參數設置默認的空值。 – McNets
'DbNull'與'Nothing'不是一回事。不知道'txtEarningsTerminated'是什麼,因爲它有'DateValue'屬性,但我懷疑它是可空的 – Plutonix
txtEarningsTerminated.DateValue是一個日期? – Kayot