在使用ADO.NET SqlClient类时,有几种方法可以回滚事务。通过显式调用SqlTransaction.Rollback,或具有命令超时,或事务范围内的事务超时等。但是,在使用SQL Server (2012或更高版本)时,如何检测此回滚何时完成?对于长时间运行的事务,回滚可能需要很长时间,而且通常会占用大量的数据库IO,因此立即重试该事务可能不是明智之举。在我们的情况下,我们希望等待回滚完
我正在将用DBExpress编写的应用程序转换为使用新的FireDAC组件。打开查询、更改筛选器或排序、在网格中显示等基本操作都是正确的。当用户打开编辑器时,将通过调用方法TFDConnection::StartTransaction启动新事务。当用户单击OK按钮时,将提交活动事务并关闭编辑器。
在编辑器中,我使用两个查询来编辑记录。在第一个查询中,我手动编写SQL命令(如"update TEST set NAME=