c# – SQL事务报告/状态

我一直在寻找一种方法来获取有关已完成的SQL事务的信息.由于我使用C#连接到数据库,因此我想知道在特定事务期间有多少记录被更新,插入或删除.

有没有办法做到这一点?

提前致谢

最佳答案
ExecuteNonQuery()返回受影响的行数.

    SqlCommand command = new SqlCommand(queryString, connection);
    command.Connection.Open();
    int rowsAffected = command.ExecuteNonQuery();

如果您想要多个记录,即删除,插入,更新等记录的总数.您必须使用OUTPUT参数.

        command.Parameters.Add("@DeletedRecords", SqlDbType.Int);
        command.Parameters["@DeletedRecords"].Direction = ParameterDirection.Output;

然后在您的事务存储过程中:

CREATE PROCEDURE [dbo].[TransactionReportStatus]
      @DeletedRecords INT OUTPUT
AS
BEGIN
     -- Your transaction with delete statements
     SET @DeletedRecords = @@ROWCOUNT         
END

@@ROWCOUNT是SQL Server相当于ExecuteNonQuery()

点赞