C# AffectedRecords属性为-1,但表中没有更改?
我正在使用MySql。我有一个C# AffectedRecords属性为-1,但表中没有更改?,c#,mysql,sql,database,C#,Mysql,Sql,Database,我正在使用MySql。我有一个DataReader,我正在执行一个sql查询,并得到这个结果(这是我的自定义输出): [CommandText:选择用户名,从帐户发送电子邮件;][Type:Reader] [IsAlive:True][IsExecuted:True][IsAcceeded:True][Exception:] [AffectedRows:0][Scalar:False][Reader:True][RecordsAffected:-1] 正如您所看到的,sql查询/命令是“选择用户
DataReader
,我正在执行一个sql查询,并得到这个结果(这是我的自定义输出):
[CommandText:选择用户名,从帐户发送电子邮件;][Type:Reader]
[IsAlive:True][IsExecuted:True][IsAcceeded:True][Exception:]
[AffectedRows:0][Scalar:False][Reader:True][RecordsAffected:-1]
正如您所看到的,sql查询/命令是“选择用户名,从帐户发送电子邮件”;但是否删除?我检查了一下,表中没有变化。这是什么
编辑1:另请查看MSDN:
编辑2:“获取通过执行Transact-SQL语句而更改、插入或删除的行数。”
所以没有任何更改、插入或删除?是
未更改、插入或删除任何内容
在执行SELECT
命令期间,由于您没有更改任何内容,只需从表中读取数据即可
为什么要删除一些东西
值等于
-1
的原因是,在一些更改期间,如更新或删除,此参数将从0更改为受影响的行数,但在选择期间,它等于一些未设置的值,它不应该等于有效值,如0
我不希望有任何更改。为什么AffectedRecords
属性是-1而不是0?不是损坏的。在这种情况下不应使用AffectedRecords,而-1
只是用于此的一个标志