自强不息,止于至善

身无半文,心忧天下;手释万卷,神交古人
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

数据库事务处理

Posted on 2007-10-16 15:03  L.Zhang  阅读(127)  评论(0)    收藏  举报
using System;
using System.Data;
using System.Data.SqlClient; 

SqlConnection myConnection 
= new SqlConnection("Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI;");
myConnection.Open();
//启动一个事务
SqlTransaction myTrans = myConnection.BeginTransaction();
//为命令创建一个事务
SqlCommand myCommand = new SqlCommand();
myCommand.Connection 
= myConnection;
myCommand.Transaction 
= myTrans;
try
{
      myCommand.CommandText 
= "Insert into Region(RegionID, RegionDescription)VALUES(100,  'Description')";
      myCommand.ExecuteNonQuery();
      myCommand.CommandText 
= "Insert into Region(RegionID, RegionDescription)VALUES (101, 'Description')";
      myCommand.ExecuteNonQuery();
      
//提交事务
      myTrans.Commit();
      Console.WriteLine(
"Both records are written to database.");
 }

catch (Exception e)
 
{
       
//回滚事务
       myTrans.Rollback();
       Console.WriteLine(e.ToString());
       Console.WriteLine(
"Neither record was written to database.");
}

finally
{
        myConnection.Close();
}