2010-06-10 119 views
0

我想用formatsqlparam來更新我的數據庫,但是當我調試它,它有一個錯誤說:我得到的SQL語法錯誤,當我調試我的應用程序

「附近有語法錯誤‘’。」

這是我的代碼:

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。

+0

這已經得到了回答,但是您可能會發現它將來可能會從調試器獲取sql2的值,甚至會記錄這些語句。當你這樣做時,sql應該更容易掃描錯誤,或者甚至將其粘貼到sql shell中,希望它能給你一個更好的錯誤信息。 – vickirk 2010-06-10 09:44:12

回答

1

貌似尾隨逗號是您的問題:

「電話= N」 & FormatSqlParam(接觸)& 「」

4

最後一行應該是這樣的:

", tel = N" & FormatSqlParam(contact) 

另外,您的語句中沒有Where子句,因此這將更新表中的所有行。

相關問題