我已经开始将我的应用程序转换为使用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