调试应用程序时出现sql语法错误

调试应用程序时出现sql语法错误,sql,vb.net,Sql,Vb.net,我想使用formatsqlparam更新我的数据库,但在调试它时,它出现了一个错误,显示: “,”附近的语法不正确。” 这是我的代码: Dim sql2 As String = "update infoHotel set nameHotel = N" & FormatSqlParam(hotel) & _ ", knownAs1 = N" & Format

我想使用formatsqlparam更新我的数据库,但在调试它时,它出现了一个错误,显示:

“,”附近的语法不正确。”

这是我的代码:

    Dim sql2 As String = "update infoHotel set nameHotel = N" & FormatSqlParam(hotel) & _
                                                       ", knownAs1 = N" & FormatSqlParam(KnownAs(0)) & _
                                                       ", knownAs2 = N" & FormatSqlParam(KnownAs(1)) & _
                                                       ", knownAs3 = N" & FormatSqlParam(KnownAs(2)) & _
                                                       ", knownAs4 = N" & FormatSqlParam(KnownAs(3)) & _
                                                       ", streetAddress = N" & FormatSqlParam(StreetAddress) & _
                                                       ", locality = N" & FormatSqlParam(Locality) & _
                                                       ", postalCode = N" & FormatSqlParam(PostalCode) & _
                                                       ", country = N" & FormatSqlParam(Country) & _
                                                       ", addressFull = N" & FormatSqlParam(address) & _
                                                       ", tel = N" & FormatSqlParam(contact) & ","

    Dim objCommand3 As New SqlCommand(sql2, conn)
    objCommand3.ExecuteNonQuery()

也许我遗漏了一些语法,但我找不到它在哪里。我希望有人能帮忙。提前谢谢。我正在使用VB.Net和SQL。

看起来后面的逗号是您的问题:


“,tel=N”&FormatSqlParam(contact)&“,”

后面的逗号似乎是您的问题:


“,tel=N”&FormatSqlParam(contact)&“,”

最后一行应该是这样的:

", tel = N" & FormatSqlParam(contact)

此外,您的语句中没有
Where
子句,因此这将更新表中的所有行。

最后一行应该是这样的:

", tel = N" & FormatSqlParam(contact)

此外,您的语句中没有
Where
子句,因此这将更新表中的所有行。

这已经得到了回答,但是您可能会发现,将来从调试器获取sql2的值,甚至记录语句都很有用。当您这样做时,sql应该更容易扫描错误,甚至可以粘贴到sql shell中,希望它能为您提供更好的错误消息。这一点已经得到了回答,但是您可能会发现,将来可以从调试器获取sql2的值,甚至记录语句。当您这样做时,sql应该更容易扫描错误,甚至可以粘贴到sql shell中,希望它能为您提供更好的错误消息。