sqltransaction用于多种方法 [英] sqltransaction for multiple methods

查看:62
本文介绍了sqltransaction用于多种方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

假设,
我有以下功能

 公共  void  insertintoRegistration()
{
   // 在此处插入
   //  cmd.executenonquery()
}
公共 无效 insertintoCorr()
{
   // 在此处插入
   //  cmd2.executenonquery()
} 


我想在按钮单击中添加以下行

 btninsert_click
{
   sqltransaction txn = con.begintransaction()
   cmd.transaction = txn;
   cmd2.transaction = txn;
   尝试
   {
      cmd.executenonquery();
      cmd2.executenonquery();
      txn.commit();
   }
   捕获
   {
      txn.rollback();
   }
} 


现在,我想为这些sqlcommand使用sqltransaction.我该怎么办,有可能这样做,或者还有其他方法可以解决此问题.

谢谢

解决方案

正如ryan指出的那样,您需要将事务作为ref参数传递.
这是查找操作方法的好地方:在事务中执行多个更新 [ ^ ]


Hi all,

suppose,
I have following functions

public void insertintoRegistration()
{
   //insert here
   //cmd.executenonquery()
}
public void insertintoCorr()
{
   //insert here
   //cmd2.executenonquery()
}


I want to have below lines in button click

btninsert_click
{
   sqltransaction txn=con.begintransaction()
   cmd.transaction=txn;
   cmd2.transaction=txn;
   try
   {
      cmd.executenonquery();
      cmd2.executenonquery();
      txn.commit();
   }
   catch
   {
      txn.rollback();
   }
}


Now I want to have sqltransaction for these sqlcommands. How Can I do so, is is possible to do so or is there any else way to solve this problem.

Thanks

解决方案

As ryan has pointed out, you need to pass the transaction as a ref parameter.
Here is a good place to find out how: Performing Multiple Updates Within a Transaction[^]


这篇关于sqltransaction用于多种方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆