模块化编程是正确的方法,但它有时会导致需要额外努力和研究的问题。我有三个数据库插入功能,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 事务而不合并它们,如果没有,这是实现这一目标的最佳方法。