事务在提交并且连接关闭后是否可以回滚?

时间:2010-06-21 11:25:25

标签: c# sql sql-server-2005 visual-studio-2008 transactions

事务在提交并且连接关闭后是否可以回滚?

    finally
    {
        // Commit the transaction.
        sqlTran.Commit();

        reader.Close();
        reader.Dispose();

        conn.Close();
        conn.Dispose();
    }

我想为用户提供 Opps的选项!回滚。那么如果它被提交可以回滚吗?

4 个答案:

答案 0 :(得分:5)

如果您希望事务在提交后保持持久,则永远不会回滚已提交的事务。

您在寻找savepoints吗?

答案 1 :(得分:3)

如果它已经提交,那就是承诺。没有回滚。 如果你想要愚蠢的用户证明,设置一个计时器并在延迟后提交,让用户可以选择回滚一段时间。

答案 2 :(得分:2)

根本没有。你不能:))

Commit方法等同于Transact-SQL COMMIT TRANSACTION语句。提交后,您无法回滚事务,因为所有修改都已成为数据库的永久部分。

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqltransaction.commit.aspx

答案 3 :(得分:0)

如果你把'哎呀!'在适当的时候,你应该能够做你需要的事情。

另外,请查看nested transactions,也许这会更适合您的情况。

最后,托比亚斯指出有save points