我正在使用ODBC來更新DB2表的VB6可執行文件。當試圖更新不存在的行時,程序不會像預期的那樣拋出錯誤。爲什麼會發生?ODBC命令不會拋出錯誤
objAdoConn.Execute("Update T1234 Set A = 'X' Where B = 'y'");
我正在使用ODBC來更新DB2表的VB6可執行文件。當試圖更新不存在的行時,程序不會像預期的那樣拋出錯誤。爲什麼會發生?ODBC命令不會拋出錯誤
objAdoConn.Execute("Update T1234 Set A = 'X' Where B = 'y'");
因爲這是導致「0行受影響」的有效SQL語句。這是成功的。
從SQL的角度來看,這個命令沒有什麼問題 - 它只是不更新任何東西,這是一個非常有效的結果。
otheranswers是正確的:它是一個有效的SQL語句,不會影響任何記錄。如果您想知道有多少記錄受到影響,請使用以下選件RecordsAffected parameter:
Dim n As Long
objAdoConn.Execute("Update T1234 Set A = 'X' Where B = 'y'", n)
If n=0 Then MsgBox "No records affected!"
這就是原因 – tekBlues 2009-06-04 20:57:45