我正在使用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