我正在研究一个使用ODBC来更新DB2 Table的VB6可执行文件。当尝试更新不存在的行时,程序不会像预期的那样抛出错误。为什么会这样?
objAdoConn.Execute("Update T1234 Set A = 'X' Where B = 'y'");
答案 0 :(得分:3)
从SQL的角度来看,该命令没有任何问题 - 它只是不更新任何东西,这是一个非常有效的结果。
答案 1 :(得分:3)
因为这是一个有效的SQL语句,导致“0行受影响”。哪个是成功的。
答案 2 :(得分:2)
other answers是正确的:它是一个有效的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!"