c# - AffectedRecords 属性为 -1 但表中没有变化?

标签 c# mysql sql database

我正在使用 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 的原因是在某些更改 期间,例如 UPDATEDELETE,此参数将从 0 更改为受影响的行数,但在选择期间它等于某个 NOT SET 值,该值不应等于 0 等有效值。

关于c# - AffectedRecords 属性为 -1 但表中没有变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29008388/

相关文章:

mysql int 字段总是返回相同的值

mysql - GROUP BY 在 SUBQUERY WITH UNION ALL

sql - MS Access 中的条件默认值

c# - 为什么所选项目在绑定(bind)到同一数据源的多个组合框之间同步?

c# - 文件上传 - 返回 null

php - 在php中添加一个月

mysql - 使用用户输入进行数据库规范化

c# - 在 json 反序列化期间确定类型

c# - 如何从 MenuItem 完全自定义弹出窗口?

c# - SQL Server 中的逗号分隔操作