我正在使用CLASSIC ASP和存储过程,存储过程有一个不需要的日期字段。
我想在我的表单上没有输入日期时插入。
我试过“”,Null,NULL,vbNull。
编辑:我在函数调用中将DOB设置为“”:
DOB = ""
if DOB = "" then
DOB = ????
End if
Set paramId = cmdStoredProc.CreateParameter("@DOB", adDBDate, adParamInput,0,DOB)
cmdStoredProc.Parameters.Append paramId
这与sql server 2008。
感谢任何帮助。
答案 0 :(得分:0)
如果DOB
为空,请尝试添加参数但不带值。这将影响sp参数的默认值。
If DOB = "" Then
Set paramId = cmdStoredProc.CreateParameter("@DOB", adDBDate, adParamInput)
Else
Set paramId = cmdStoredProc.CreateParameter("@DOB", adDBDate, adParamInput, 0, DOB)
End If
cmdStoredProc.Parameters.Append paramId
答案 1 :(得分:0)
你试过吗
if DOB = "" then
DOB = Empty
End if
答案 2 :(得分:0)
确保修剪DOB字段,以便空格字符不会使您绊倒。
If trim(DOB) = "" then ....
答案 3 :(得分:0)
Null
通常是正确的值。
我猜的问题中缺乏细节。
Ulimately你有一个不可空的DOB表字段在SP的核心分配了这个空值。这反过来导致错误。
答案 4 :(得分:0)
这是因为SQL Server不支持adDBDate数据类型。要解决此问题,请将@DOB参数的数据类型更改为adDBTimeStamp。
Set paramId = cmdStoredProc.CreateParameter("@DOB", adDBTimeStamp, adParamInput, ,DOB)
cmdStoredProc.Parameters.Append paramId