【发布时间】:2014-07-23 02:30:45
【问题描述】:
我希望将日期变量从 Access 传递到 SQL 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][ODBC SQL Server Driver] 从字符串转换日期和/或时间时转换失败。
任何有关如何将此日期字段传递给我的存储过程的帮助将不胜感激。
【问题讨论】:
-
尝试在存储过程中打印出
@searchDate的值。我敢打赌,它会与您认为发送的内容大不相同。 -
格式为(yyyymmddhhmmss 加上十亿分之一)。我不确定如何更改我的代码以传递这样的值。你有什么想法吗?
-
您选择
adDBTimeStamp有什么原因吗? -
我尝试使用 adbdDate 并返回错误“[Microsoft][ODBC SQL Server Driver] Optional Feature Not Implemented。”我还没有找到其他传递日期变量的方法。你有什么建议吗?
-
我看到你以前发布过这个问题。
adVarChar工作了吗?
标签: sql vba stored-procedures odbc parameter-passing