如何避免使用唯一存储过程进行多次插入时出现错误?
我想知道如何在 C# 代码中管理事务。 我必须使用唯一的存储过程多次插入同一对象。 所以我必须多次启动具有相同参数的相同存储过程。
但是,如果过程中出现问题(丢失连接,...),我不希望只完成一部分插入而其余部分失败,我希望取消所有插入。 所以我想要一个 SQLtransaction,但在应用程序代码中,因为无法更改数据库。
我希望我足够清楚,并希望有人可以帮助我并推动我走上好的道路。 发射机
I wonder how is it possible to manage transaction in c# code..
I have to do multiple insertion of same object with unique storedprocedure.
So I have to launch the same stored procedure with same parameters multiple times.
But if a problem appear in the process (lost connection,...) I don't want just a part of insertions done and the rest failed, I want all the insertion cancelled.
So I would like a SQLtransaction but within the application code because a can't change database.
I hope i'm clear enough and hope somebody can help me and push me on the good way..
Tx
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以在开始工作之前调用 SqlConnection 上的 BeginTransaction,然后在结束时调用 CommitTransaction(或 RollbackTransaction)。
例如,请参阅此处的 MSDN 参考。
You can call BeginTransaction on the SqlConnection before starting the work, and then CommitTransaction (or RollbackTransaction) at the end.
See MSDN reference here for example.
SqlConnection
类(IDbConnection
接口)有一个方法BeginTrasaction
看看此处。The
SqlConnection
class (IDbConnection
interface) has a methodBeginTrasaction
take a look here.您可以使用
BeginTransaction
方法(以及相关的后续方法)从代码执行事务。该链接有一个有关如何执行此操作的示例。例子:
You can use the
BeginTransaction
method (and the relevant subsequent methods) to perform transactions from code. That link has an example on how to do it.Example: