【发布时间】:2014-05-13 13:45:26
【问题描述】:
我正在用 C# 编写一个应用程序(第一次)。我有一个用户在表单中输入了很多数据,我正在将这些数据插入到数据库中。它是一个使用 SQL Server 的 Windows 窗体应用程序。
用户提交表单后,会更新多个表。 (大约 6 个)我试图避免更新 3 个表而第 4 个表抛出错误并且我不知道如何执行此操作的情况。所有数据都是正确的数据类型,所以我的问题更多是在数据库连接端。
因此,理想情况下,如果所有 6 次插入都不成功,我不希望它们都成功。我知道我可以在 catch 子句中删除记录以回滚。这是最有效的方法还是有“最佳实践”?
【问题讨论】:
-
你试过什么?给我们看一些代码?
-
您愿意分享一些代码吗?很难仅根据失败的解释提出建议。
-
现在我正在考虑它,如果有连接问题,我无法删除回滚,所以我需要一个解决方案:)
-
你听说过“交易”吗?我在想“不”。
-
开始一个事务,在事务中做所有六次插入;如果到目前为止没有异常 - 提交事务,否则回滚它
标签: c# sql-server error-handling