SqlDataReader.RecordsAffected 属性

作者: 来源:ITPOW(原创) 日期:2008-6-11

获取执行 Transact-SQL 语句所更改、插入或删除的行数。

已更改、插入或删除的行数;如果没有任何行受到影响或语句失败,则为 0;-1 表示 SELECT 语句。 该属性的值是累积值。例如,如果以批处理模式插入两个记录,则 RecordsAffected 的值将为二。

也就是说,在利用 SqlCommand.ExecuteReader 时,如果执行的语句是更改、插入或删除,则返回所影响的记录行数;如果执行的是 SELECT 语句,则始终返回 -1;如果有多个语句,则 SELECT 语句所影响的行数不计入最终结果。

当 SqlDataReader 关闭后,只能调用 IsClosed 和 RecordsAffected 属性。尽管当 SqlDataReader 存在时可以访问 RecordsAffected 属性,但是请始终在返回 RecordsAffected 的值之前调用 Close,以保证返回精确的值。

相关文章