Sql ORA-00917:VB中缺少逗号错误

Sql ORA-00917:VB中缺少逗号错误,sql,database,excel,vba,odbc,Sql,Database,Excel,Vba,Odbc,当我试图写入数据库时,我在试图让一些VB代码在Excel中工作时遇到了很多麻烦。我一直收到这个逗号错误,但我一辈子都看不到哪里缺少逗号…这是代码 While Not IsEmpty(startRange.Offset(i, 0)) tentype = startRange.Offset(i, 0).Value tendelivery = "EMAIL" tenevent = startRange.Offset(i, 1).Value tentext = star

当我试图写入数据库时,我在试图让一些VB代码在Excel中工作时遇到了很多麻烦。我一直收到这个逗号错误,但我一辈子都看不到哪里缺少逗号…这是代码

While Not IsEmpty(startRange.Offset(i, 0))

    tentype = startRange.Offset(i, 0).Value
    tendelivery = "EMAIL"
    tenevent = startRange.Offset(i, 1).Value
    tentext = startRange.Offset(i, 2).Value
    tensubject = startRange.Offset(i, 3).Value
    tentrailer = startRange.Offset(i, 4).Value
    tenlanguage = startRange.Offset(i, 5).Value
    tenid = 10 + i




With objCommand
.ActiveConnection = "Driver={Microsoft ODBC for Oracle};Server=*;Uid=*;Pwd=*"
.CommandText = "INSERT INTO TEN_TEMPLATE VALUES (" & tenid & ", " & tendelivery & ", " & tentype & ", " & tenevent & ", " & tentext & ", " & tenlanguage & ", " & tensubject & ", " & tentrailer & ")"
.Execute

End With

    i = i + 1
Wend
我将非常感谢任何帮助

谢谢,
Brett

您的值中是否有一个包含逗号,或者更可能是引号?即使您的建筑看起来很好,这也可能会使生成的SQL字符串出错。

我建议您更改密码NP,顺便说一句,insert语句通常需要列名
insert INTO TABLE(column1,column2)值(value1,value2)
。您的命令中不缺少这些吗?我认为只有当您希望指定要插入的数据,而其他字段保留为空时,才需要这样做。我所有的字段都是非空的。很有可能是这种情况-有没有办法处理这个问题?使用Excel替换函数将一个引号替换为两个类似于一个引号的引号。请参阅(Word,但与VBA概念相同)。要验证发生了什么,可以使用MsgBox查看完整字符串。在执行之前,把MsgBox.CommandTextBrett也放在名字里,我猜你的一些字段是文本。对于SQL,这些需要用引号括起来。因此,如果TenText有“ABCDE”,那么SQL语句应该类似于“INSERT…”、“ABCDE…”。您的构建应该类似(注意单引号)。CommandText=“INSERT…&”、“&tentext&”、“&../&”)“谢谢Asantabala,额外的引号带来了所有的不同。