我正在使用 MySql。我有一个 DataReader
,我正在执行一个 sql 查询并得到这个结果(这是我的自定义输出):
[CommandText: SELECT username, email FROM account;] [Type: Reader] [IsAlive: True] [IsExecuted: True] [IsSucceeded: True] [Exception: ] [AffectedRows: 0] [Scalar: False] [Reader: True] [RecordsAffected: -1]
如您所见,sql 查询/命令是“SELECT username, email FROM account;”但是删除吗?我检查了一下,表中没有任何变化。这是什么?
编辑 1: 另请参阅 MSDN:https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.recordsaffected(v=vs.110).aspx
编辑 2: “获取通过执行 Transact-SQL 语句更改、插入或删除的行数。”
所以没有任何改变、插入或删除?
最佳答案
是的,
nothing changed, inserted or deleted
在 SELECT
命令期间,因为您没有更改任何内容,所以只需从表中读取数据即可。
为什么要删除一些东西?
值等于 -1
的原因是在某些更改 期间,例如 UPDATE
或 DELETE
,此参数将从 0 更改为受影响的行数,但在选择期间它等于某个 NOT SET
值,该值不应等于 0
等有效值。
关于c# - AffectedRecords 属性为 -1 但表中没有变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29008388/