2009-06-04 113 views
0

我正在使用ODBC來更新DB2表的VB6可執行文件。當試圖更新不存在的行時,程序不會像預期的那樣拋出錯誤。爲什麼會發生?ODBC命令不會拋出錯誤

objAdoConn.Execute("Update T1234 Set A = 'X' Where B = 'y'"); 

回答

3

因爲這是導致「0行受影響」的有效SQL語句。這是成功的。

3

從SQL的角度來看,這個命令沒有什麼問題 - 它只是不更新​​任何東西,這是一個非常有效的結果。

+0

這就是原因 – tekBlues 2009-06-04 20:57:45

2

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!"