2
  1. 我有一个名为 modifieddate 的 DateTime 类型的变量,它可以设置为 null。
  2. 我使用数据读取器填充变量,如果读取器为空,则将值设置为空
  3. 当我进一步使用该变量时,存储过程抱怨我没有提供该值。“程序或函数 'tHistory_Insert' 需要参数 '@modifieddate',但未提供”

问题:关于如何在日期为空时将空值传递到存储过程中的任何想法?

第1步

Public modifieddate As Nullable(Of DateTime)

第2步

If IsDBNull(dr("modifieddate")) = False Then

     modifieddate = DateTime.Parse(dr("modifieddate"))
Else

     modifieddate = Nothing
End If

第 3 步

command.Parameters.Add("@modifieddate", SqlDbType.DateTime).Value = modifieddate
command.ExecuteNonQuery()
4

1 回答 1

5

如果它什么都没有,我认为你必须通过 DBNull.Value。像这样的东西:

If modifieddate Is Nothing then
  command.Parameters.Add(...).Value = DBNull.Value
Else
  command.Parameters.Add(...).Value = modifieddate
End If
于 2012-08-15T14:50:56.313 回答