我有一个查询:
UPDATE messages SET Unread = 'N' WHERE id= '6'
Run Code Online (Sandbox Code Playgroud)
要读取受影响的行,我使用值ExecuteNonQuery(),但即使没有更改,它也始终返回1.在这里看到了同样的问题.这是一个错误还是这种行为正常?
对于ExecuteNonQuery返回1有一定的纪录WHERE id = '6'.现在,如果您只想更新行,如果值不同,则更改查询:
UPDATE messages SET Unread = 'N' WHERE id = '6' AND Unread <> 'N'
Run Code Online (Sandbox Code Playgroud)
如果您要运行该查询并且值Unread已经是,'N'那么它将返回0行.