3

我编写了一个包含DateTime参数的 SQL Server 存储过程。此参数可以为 null 或包含有效的日期值。

所以我的变量在我的过程中的定义如下:

@piPurchase_Date DATETIME = NULL

从 C# 我添加参数如下:

SqlParameter parameter = new SqlParameter("@piPurchase_Date", SqlDbType.DateTime);
parameter.Value=datePurchaseIssueDate.Checked ? datePurchaseIssueDate.Value : SqlDateTime.Null;

到目前为止一切似乎都很好,但是当我在 DataAdaptor 上调用 Update 方法时,我收到以下错误:

无法将参数值从 SqlDateTime 转换为 DateTime。

有任何想法吗?

我正在使用 SQL Server 2008 和 C#4.0

提前致谢

4

1 回答 1

3

是 -DBNull.Value在 C# 中使用:

SqlParameter parameter = new SqlParameter("@piPurchase_Date", SqlDbType.DateTime);
parameter.Value = datePurchaseIssueDate.Checked ? datePurchaseIssueDate.Value : DBNull.Value;

将 NULL 传递给 SQL Server 存储过程

于 2012-06-19T14:21:12.697 回答