午夜超级难题:[多个表的数据Insert INTO出现错误的时候如何使用回滚?] 表A,表B,表C,表D,需要更新数据,其中有个相同的字段,MovieID,听说Asp.NET自带了有个回滚的操作的好东东,马上使用了,但是那个发现是只能在一个表中使用,所以想问问,像我这样的多表的数据插入,可以使用该回滚吗?或者是需要用其他的办法来做到?请大家帮忙,谢谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ADO.NET 支持事务的啊,开始一个事务,发生异常的时候就 roleback好了~ ADO.NET 支持事务的啊,开始一个事务,发生异常的时候就 roleback好了~回滚。。才索王道! 是啊如果发生异常就Rollback如果不用控件而是oracle后台用pl/sql的话可以用savepoint+rollbackto 1)只要在一个数据库中,多个表没什么啊,只要共用一个事务就可以了2)还可以用Com+解决,Com+有自动事件功能[AutoComplete] 写个大概的给你看看.System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(); System.Data.SqlClient.SqlTransaction trans; trans = conn.BeginTransaction();//开始事务 try { //进行操作 //完成 trans.Commit(); } catch { //回滚 trans.Rollback(); } 只要是用的同一个连接,楼上的解决方法完全可以满足你的需要了记住,把SqlCommand.transaction 设置为 trans 用事务阿!最好写在存储过程中!这样写一个事务就行了!begin tran//插入代码commit transactionreturn 1end1:rollback transactionreturn 0GO 支持,用COM就麻烦了,COM一般用在两个不同的库。 OleDbConnection con = new OleDbConnection("连接字符串");OleDbTransaction tran;try{ con.open(); //开始事务 tran= con.BeginTransaction(); //更新 Update A,B,C,D //提交事务 tran.Commit();}catch (Exception ex){ //回滚 tran.Rollback();}finally{ con.Close();} 有麻烦 c#更改combobox的外观 C# webForm中,如何取MSChart的图片 还是反射的问题 导出EXCEL后格式的问题 如何使函数参数不可修改? web控件的datagrid,我点击上面的编辑,为何要点击两次才能出现“更新,撤销”? 关于FRAME的一个问题 关于 KeyDown 的问题 c#推送ios消息 错误: APNS NotificationFailureException -> 8 : Invalid token 如何判断该用户是否在线??? C#中如何实现DDE数据交换?
如果发生异常就Rollback
如果不用控件而是oracle后台用pl/sql的话
可以用savepoint+rollbackto
2)还可以用Com+解决,Com+有自动事件功能[AutoComplete]
System.Data.SqlClient.SqlTransaction trans;
trans = conn.BeginTransaction();//开始事务
try
{
//进行操作 //完成
trans.Commit();
}
catch
{
//回滚
trans.Rollback();
}
begin tran//插入代码
commit transaction
return 1
end1:
rollback transaction
return 0
GO
OleDbTransaction tran;
try
{
con.open(); //开始事务
tran= con.BeginTransaction();
//更新
Update A,B,C,D
//提交事务
tran.Commit();
}
catch (Exception ex)
{
//回滚
tran.Rollback();
}
finally
{
con.Close();
}