0

标准表达式中的数据类型不匹配,我认为下面的代码是正确的,但现在我收到此错误,不确定我添加的内容不正确。

下面的代码发布到数据库

并且函数 Main() 只是连接到数据库

Private Sub adddata()
    Main
    Dim strSQL As String

    Data1 = Sheets("Sticker").Range("B6").Value
    Data2 = Sheets("Sticker").Range("D4").Value
    Data3 = Sheets("Sticker").Range("A2").Value
    Data4 = Sheets("Sticker").Range("C8").Value
    Data5 = Sheets("Sticker").Range("B14").Value
    Data6 = Sheets("Sticker").Range("D12").Value
    Data7 = Sheets("Sticker").Range("A10").Value
    Data8 = Sheets("Sticker").Range("C16").Value
    strSQL = "INSERT INTO STICKER (CertNo, IssueDate, Serial, RecalDue,CertNo_Vic, IssueDate_Vic, Serial_Vic, RecalDue_Vic)" & _
            "VALUES('" & _
            Data1 & "','" & _
            Data2 & "','" & _
            Data3 & "','" & _
            Data4 & "','" & _
            Data5 & "','" & _
            Data6 & "','" & _
            Data7 & "','" & _
            Data8 & "')"

    adoConnection.Execute strSQL, , adCmdText + adExecuteNoRecords
    MsgBox "Added info to the db   ", vbExclamation, "Connection.Execute"
End Sub
4

1 回答 1

1

您要连接到哪个数据库?假设它是 Access,日期文字必须用 # 字符包围,而不是单引号,例如 #7/12/2013#

但是更好的解决方案是使用参数化查询 - 这样您就不必担心正确的引号并简单地传递值。奖励:这将有助于避免可能的 SQL 注入。

于 2013-08-19T14:33:32.890 回答