我希望将日期变量从Access传递到Server存储过程。请看我的密码:
VBA:
searchDate = 03/07/2014
cmd.Parameters.Append _
cmd.CreateParameter("@searchDate", adDBTimeStamp, adParamInput, , searchDate)searchDate是格式化为MM/DD/YYYY的日期。
SQL:
ALTER PROCEDURE [dbo].[spAppendActivity]
@searchDate as datetime,
AS
SET NOCOUNT ON;
delete * from tbl_activity_losses;
select [Date]
into tbl_activity_losses
from tbl_master_rec
where [Date] = @searchDate我收到一个ODBC错误声明
当从字符串转换日期和/或时间时,Microsoft转换失败。
任何关于如何将此日期字段传递给我的存储过程的帮助都将不胜感激。
发布于 2014-06-02 21:50:19
问题是adDBTimeStamp。它正在将简单的日期字符串转换为时间戳。(不是日期)
当将时间戳传递给存储过程时,SQL server不知道如何将该长字符串转换为日期。
将类型从adDBTimeStamp更改为adVarChar将使其保持为字符串,Server将知道如何正确解析它。
此外,还可以将存储过程类型从DateTime更改为varchar。Server将知道如何将其解析为日期。
https://stackoverflow.com/questions/24003576
复制相似问题