c#同时插入两个表数据,如果其中一个出问题,则回滚
两个表,一个索引表,一个内容表,我需要往这两个表同时插入数据,索引一定是插入一条数据,而内容表有可能一次插入多条数据,必须保证索引成功后,插入内容出问题,则回滚,如果没有...
两个表,一个索引表,一个内容表,我需要往这两个表同时插入数据,索引一定是插入一条数据,而内容表有可能一次插入多条数据,必须保证索引成功后,插入内容出问题,则回滚,如果没有问题,则结束
展开
3个回答
展开全部
可以程序端做事务:
假设你有两个方法
bool InsertTbindex(){}
bool InsertTbcontext(){}
using (TransactionScope ts = new TransactionScope())
{
bool result = true;
if (InsertTbindex())
{
for (int i = 0; i < 2; i++)
{
if (InsertTbcontext() == false)
{
result = false;
break;
}
}
if (result)
ts.Complete();
}
}
假设你有两个方法
bool InsertTbindex(){}
bool InsertTbcontext(){}
using (TransactionScope ts = new TransactionScope())
{
bool result = true;
if (InsertTbindex())
{
for (int i = 0; i < 2; i++)
{
if (InsertTbcontext() == false)
{
result = false;
break;
}
}
if (result)
ts.Complete();
}
}
更多追问追答
追问
假如你在循环的时候网络断开了,数据库也能判断自动回滚吗?
追答
if (result)
ts.Complete();
看这条语句,它没有执行,往数据库写的数据都会回滚
你循环的时候,断网了,ts.Compleate()不会执行,肯定会回滚
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询