這SQL似乎是正確的爲INSERT INTO
,但沒有爲UPDATE
它應該閱讀:
adapter.UpdateCommand = New SqlCommand("UPDATE Customers" & _
" SET CustomerID = @CustomerID, CompanyName = @CompanyName)" & _
" WHERE CustomerID = @oldCustomerID AND CompanyName =" & _
" @oldCompanyName", connection)
即SQL就是一個會叫paramaterized,這樣(在片段較低)使得這種代碼很重要:
adapter.UpdateCommand.Parameters.Add(_
"@CustomerID", SqlDbType.NChar, 5, "CustomerID")
adapter.UpdateCommand.Parameters.Add(_
"@CompanyName", SqlDbType.NVarChar, 30, "CompanyName")
' Pass the original values to the WHERE clause parameters.
Dim parameter As SqlParameter = dataSet.UpdateCommand.Parameters.Add(_
"@oldCustomerID", SqlDbType.NChar, 5, "CustomerID")
parameter.SourceVersion = DataRowVersion.Original
parameter = adapter.UpdateCommand.Parameters.Add(_
"@oldCompanyName", SqlDbType.NVarChar, 30, "CompanyName")
parameter.SourceVersion = DataRowVersion.Original
什麼語法錯誤? – Nate 2011-03-03 17:09:00
你目睹了哪些錯誤? – 2011-03-03 17:09:12
sql看起來不錯,它取決於適配器的上下文,以及參數的設置方式。您可以發佈更多的代碼和錯誤消息 – 2011-03-03 17:09:40