当前位置: 移动技术网 > IT编程>开发语言>c# > C#事务处理(Execute Transaction)实例解析

C#事务处理(Execute Transaction)实例解析

2019年07月18日  | 移动技术网IT编程  | 我要评论
本文所述为c#事务处理(execute transaction)的一个实例,包含了创建sqltransaction 对象并用sqlconnection对象的begintra

本文所述为c#事务处理(execute transaction)的一个实例,包含了创建sqltransaction 对象并用sqlconnection对象的begintransaction()方法开始事务,创建保存sql语句,将sqlcommand对象的commandtext属性设置为第一个insert语句,第一个insert语句在customers表中增加一行,提交事务,使insert语句增加的两行在数据库中保存起来。

具体的实例代码如下:

using system;
using system.data;
using system.data.sqlclient;
namespace executetransaction
{
 /// <summary>
 /// executetransaction 的摘要说明。
 /// </summary>
 public class executetransaction
 {
 public static void main()
 {
  sqlconnection mysqlconnection =
  new sqlconnection(
  "server=localhost;database=northwind;uid=sa;pwd=sa"
  );
  mysqlconnection.open();
  // 创建sqltransaction 对象并用sqlconnection对象的
  // begintransaction()方法开始事务
  sqltransaction mysqltransaction =
  mysqlconnection.begintransaction();
  // 创建保存sql语句
  sqlcommand mysqlcommand = mysqlconnection.createcommand();
  // 将transaction属性设置为上面所生成的sqltransaction对象
  mysqlcommand.transaction = mysqltransaction;
  // 将sqlcommand对象的commandtext属性设置为第一个insert语句,
  // 第一个insert语句在customers表中增加一行
  mysqlcommand.commandtext =
  "insert into customers (" +
  " customerid, companyname" +
  ") values (" +
  " 'micro', 'microsoft corporation'" +
  ")";
  // 执行第一个insert语句
  console.writeline("running first insert statement");
  mysqlcommand.executenonquery();
  // 将sqlcommand对象的commandtext属性设置为第二个insert语句,
  // 第二个insert语句在orders表中增加一行
  mysqlcommand.commandtext =
  "insert into orders (" +
  " customerid" +
  ") values (" +
  " 'micro'" +
  ")";
  // 执行第二个insert语句
  console.writeline("running second insert statement");
  mysqlcommand.executenonquery();
  // 提交事务,使insert语句增加的两行在数据库中保存起来
  console.writeline("committing transaction");
  mysqltransaction.commit();
  mysqlconnection.close();
 }
 }
}

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网