【发布时间】:2015-02-18 16:32:23
【问题描述】:
我正在尝试使用以下代码将数据添加到名为“ModifiedDate”且类型为“DateTime”的 SQL 数据库列中:
Dim fso As FileSystemObject
Dim dteModifiedDate As Date
Dim cm As ADODB.Command
Dim cn As ADODB.Connection
Set fso = New FileSystemObject
Set cm = New ADODB.Command
Set cn = New ADODB.Connection
cn.CursorLocation = adUseClient
cn.ConnectionString = strDBConnectionString
cn.Open
Set cm.ActiveConnection = cn
dteModifiedDate = fso.GetFile("C:\TestFile.txt").DateLastModified
cm.Parameters.Append cm.CreateParameter("@ModifiedDate", adDBDate, adParamInput, , dteModifiedDate)
cm.CommandText = "SELECT CAST('@ModifiedDate' as DateTime) FROM MainData"
cm.CommandType = adCmdText
cm.Execute
问题是当我运行它时,代码在执行语句上中断并出现此错误:
Run-time error -2147217913 (80040e07)
conversion failed when converting date and/or time from character string.
我为命令尝试了几种不同的“类型”(adDate、adDBTimestamp、adWChar 等...),但在数据类型之间的转换方面出现错误。
您为此使用什么数据类型?显然,我需要能够使用与 SQL 表数据类型兼容的类型来正确获取参数数据类型。
【问题讨论】:
标签: sql vba datetime adodb type-conversion