【发布时间】:2013-05-11 04:54:52
【问题描述】:
模块化编程是正确的方法,但它有时会导致需要额外努力和研究的问题。我有三个数据库插入函数,比如InsertName(),InsertAddress(),InsertPhoneNo(),以它为例。如果任何函数发生异常,所有这些函数都必须执行,不会对数据库进行任何更改。
我能做的就是将三者合二为一并使用sqltransaction。
InsertDetails()
{
using (SqlTransaction sqlTransaction = cn.BeginTransaction())
{
using (SqlCommand cm = new SqlCommand())
{
cm.Transaction = sqlTransaction;
InsertName();//Code to insert name
Insertaddress();//code to insert address
InsertPhoneNo();//code to insert phone no
}
sqlTransaction.Commit();
}
}
但上面的解决方案与我的模块化方法背道而驰。是否可以将多个函数绑定到一个 sql 事务而不合并它们,如果没有,这是实现这一目标的最佳方法。
【问题讨论】:
标签: c# sql database sqltransaction