不是SQL中前提:
方法1 往Table1中插入数据;
方法2: 更新Table2的数据;
方法3: 删Table3的数据;要求:方法A中开启事务,调用方法1和方法2或方法3(随意组合),如果都成功,则Commit,失改rollback;
请问如实现,请给实例!
方法1 往Table1中插入数据;
方法2: 更新Table2的数据;
方法3: 删Table3的数据;要求:方法A中开启事务,调用方法1和方法2或方法3(随意组合),如果都成功,则Commit,失改rollback;
请问如实现,请给实例!
解决方案 »
- 请大家看看这2个C#连接ACCESS的SQL查询语句有什么不同
- 大虾们请教一个问题!
- 如何做才能让我的客户端和服务器端的SOAP版本一致啊?
- c#怎么获得桌面图标的位置,并让坐标动起来
- 请问一下如何获得DataGrid选中那列的值!
- asp.net(c#)或javascript或css,html高手都可以帮忙!!!
- 新手请教,关于安装应用程序的问题
- 请问有没有方法可以在打开模式对话框后让其他窗体可被选中?
- 请教.net下的n层开发看什么书好,或者是有什么文章推荐
- 求教!如何解决Graphics缺少 using 指令或程序集引用以及如何通过PictureBox显示图像
- C#如何访问方法内部的常量或变量
- 快过年了,还有多少兄弟在写代码?我来问个问题
using(TransactionScope scope = new TransactionScope())
{
//方法1 往Table1中插入数据;
//方法2: 更新Table2的数据;
//方法3: 删Table3的数据;
scope.Complete();
}
需要MSDTC支持...
{
其他代码
SqlTransaction tran=创建一个transaction对象;
try
{
//A中需要执行的代码;如:往Table1中插入数据;
BMethod(B需要的参数,tran);
CMethod(B需要的参数,tran);
}
catch(Exception ex)
{
tran.Rollback();
}
finally
{
//其他代码;
}
}public void BMethod(B需要的参数,ITransaction transaction)
{
//使用传递过来的transaction对象,更新Table2的数据;
}
public void CMethod(C需要的参数,ITransaction transaction)
{
////使用传递过来的transaction对象,删Table3的数据;
}又或者,把事务定义成某个类的一个对象。等等。都可以。关键是只要在一是同一个事务就可以了。
odbcConnection.Open();
odbcTransaction = odbcConnection.BeginTransaction();
InsertTable1(odbcConnection, odbcTransaction)
{
OdbcCommand command = new OdbcCommand(sql);
command.Connection = odbcConnection;
command.Transaction = odbcTransaction;
command.ExecuteNonQuery();
}
UpdateTable2(odbcConnection, odbcTransaction);一样
DeleteTable3(odbcConnection, odbcTransaction);一样
{
Test1();
Test2();
ts.Complete();
}