// 执行事务处理 public void DoTran() { //建立连接并打开 SqlConnection myConn=GetConn(); myConn.Open(); SqlCommand myComm=new SqlCommand(); //SqlTransaction myTran=new SqlTransaction(); //注意,SqlTransaction类无公开的构造函数 SqlTransaction myTran; //创建一个事务 myTran=myConn.BeginTransaction(); try { //从此开始,基于该连接的数据操作都被认为是事务的一部分 //下面绑定连接和事务对象 myComm.Connection=myConn; myComm.Transaction=myTran; //定位到pubs数据库 myComm.CommandText="USE pubs"; myComm.ExecuteNonQuery();//更新数据 //将所有的计算机类图书 myComm.CommandText="UPDATE roysched SET royalty = royalty * 1.10 WHERE title_id LIKE 'Pc%'"; myComm.ExecuteNonQuery(); //提交事务 myTran.Commit(); } catch(Exception err) { throw new ApplicationException("事务操作出错,系统信息:"+err.Message); } finally { myConn.Close(); }} private SqlConnection GetConn() { string strSql="Data Source=localhost;Integrated Security=SSPI;user id=sa;password="; SqlConnection myConn=new SqlConnection(strSql); return myConn; } } public class Test { public static void Main() { DbTranSql tranTest=new DbTranSql(); tranTest.DoTran(); Console.WriteLine("事务处理已经成功完成。"); Console.ReadLine(); } }