【发布时间】:2011-08-19 08:40:10
【问题描述】:
我有一个关于 SQL Server 2008 中的存储过程和 DateTime2 数据类型的小问题。
我有几个使用 DateTime2 数据类型的存储过程,我想插入日期 0001.01.01 00:00:00,但这不适用于 VB.net,我找不到原因。
我使用这个代码片段:
Dim sqlStatement As New SqlClient.SqlCommand
Dim sqlTransaction As SqlClient.SqlTransaction
sqlStatement.CommandType = CommandType.StoredProcedure
sqlStatement.CommandText = "SCHEMA.spInsertDate"
sqlStatement.Parameters.AddWithValue("@Date", "0001.01.01 00:00:00")
sqlStatement.ExecuteNonQuery()
从我的程序中调用存储过程(存储过程是一个简单的INSERT 语句,仅适用于实际日期)。但是当我输入日期0001.01.01 00:00:00 时,总是会出现错误,当我想执行存储过程时,我无法在“01.01.1753”之前插入日期。
现在我已经知道 SQL Server 中的 DateTime2 数据类型应该支持这一点。
所以我的问题是,这可能是驱动程序问题,更新 SQLClient 可以解决这个问题,或者这是一个普遍问题,我终于可以停止搜索,只使用 1753.01.01。
谢谢林
【问题讨论】:
标签: vb.net sql-server-2008 datetime2