将日期上传到sql server数据库 - 英国日期格式问题

时间:2016-01-13 11:36:30

标签: sql sql-server vba excel-vba excel

我有一个包含一些vba代码的excel工作簿。代码将一些数据上传到SQL Server数据库。

代码在我的计算机上运行,​​但在其他用户上运行。我的电脑设置为美国日期时间格式,其他用户电脑设置为英国日期时间格式。

错误消息如下,

Conversion failed when converting date and/or time from character string

以下是代码段。

DateEntry& DateTemp都是“Date”类型的列。

我该如何解决这个问题?另外我不明白为什么会出现错误,因为虽然日期变量实际上被视为数字。

rs.Open SQLUPLOADTABLENAME, pCn, adOpenKeyset, adLockOptimistic

iCol = 1
iRow = 2

Do Until IsEmpty(ws.Cells(iRow, iCol))
    rs.AddNew
    rs("DateEntry") = DateTime.Date
    rs("DateTemp") = pDtTemp
    rs("Temperature") = ws.cells(iRow, iCol)        
    rs.Update
    iRow = iRow + 1
Loop

更新

有关pDtTemp的更多信息。 strDate是以yyyymmdd

格式提供的字符串
Private pDtTemp As Date

pDtTemp = DateTime.DateSerial(CInt(Strings.Left(strDate, 4)), CInt(Strings.Mid(strDate, 5, 2)), CInt(Strings.Right(strDate, 2)))

固定

我刚将两行更改为以下行&它现在有效。不能说我完全理解后台发生的事情

    rs("DateEntry") = Format(DateTime.Date, "mm/dd/yyyy")
    rs("DatePrice") = Format(pDtPrice, "mm/dd/yyyy")

0 个答案:

没有答案