我的应用程序是带有vb的asp.net。
在我的页面中,我有一个用于传递日期的文本框。如果我没有输入日期并单击提交,我必须将空值传递给存储过程。
我尝试使用DBNull.Value
和DateTime.MinValue
等代码。在那种情况下,"#12:00:00#"
正在传递而不是null。我必须通过Null。
答案 0 :(得分:15)
只需为参数赋值DBNull.Value
即可[编辑]
如果您使用的是SqlParameter(感谢Jon),那么如果它出现任何错误,您可以像这样设置
parameter.Value = DBNull.Value
答案 1 :(得分:0)
Dim pflt_dateto As SqlParameter = cmd.CreateParameter
pflt_dateto.Direction = ParameterDirection.Input
pflt_dateto.DbType = SqlDbType.Int
pflt_dateto.IsNullable = True
pflt_dateto.ParameterName = "flt_dateto"
If String.IsNullOrEmpty(dateto) Then
pflt_dateto.SqlValue = DBNull
Else
pflt_dateto.SqlValue = dateto
End If
cmd.Parameters.Add(pflt_dateto)
由于您将参数设置为可为空,因此错误将消失。现在问题是.NET将null整数传递为0所以我们需要处理它。
超