AffectedRecords属性为-1但表中没有更改?

时间:2015-03-12 11:19:34

标签: c# mysql sql database

我正在使用MySql。我有一个DataReader,我正在执行一个SQL查询,而且我得到了这个结果(这是我的自定义输出):

  

[CommandText:SELECT username,email FROM account;] [Type:Reader]   [IsAlive:True] [IsExecucuted:True] [IsSucceeded:True] [例外:]   [AffectedRows:0] [标量:错误] [读者:真] [记录受影响:-1]

正如您所看到的,sql查询/命令是" SELECT用户名,电子邮件FROM帐户;"但删除?我查了一下,表中没有变化。它是什么?

编辑1:另请参阅MSDN:https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.recordsaffected(v=vs.110).aspx

编辑2: "获取通过执行Transact-SQL语句更改,插入或删除的行数。"

所以没有改变,插入或删除?

1 个答案:

答案 0 :(得分:0)

是的,

  

没有任何改动,插入或删除

SELECT命令期间,由于您没有更改任何内容,只需从表中读取数据。

为什么要删除某些内容?

值等于-1的原因是,在某些更改(例如UPDATEDELETE期间,此参数将从0更改为受影响的数量行,但在选择期间,它等于某个NOT SET值,该值不应等于0之类的有效值。