事务处理的方法


事务处理的方法:

一. 直接写入sql

  create procedure sqlaction
  as
  begin
   declare @error int
   delete from tuser where username='龚许'
   select @error=@@error
   if @error=0
    commit tran
   else
    rollback tran
  end
  go
 
  SqlConnection conn = new SqlConnection(conStr);
  conn.Open();
  SqlCommand cmd = new SqlCommand(conn);
  cmd.CommandType = CommandType.StoredProcedure;
  cmd.CommandText = "sqlaction";
  cmd.ExecuteNonQuery();
  conn.Close();
 
 
  二. ADO.NET事务处理
 
  SqlConnection conn = new SqlConnection(connStr);
  SqlCommand cmd = new SqlCommand(conn);
  conn.Open();
  SqlTransaction myTran = conn.BeginTransaction();
  cmd.Transaction = myTran;
  try
 {
  myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (110, 'Description')";
  myCommand.ExecuteNonQuery();
  //myTrans.Commit();
  myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (111, 'Description')";
  myCommand.ExecuteNonQuery();
  myTrans.Commit();
  Response.Write("成功写入记录!");
 }
 catch(Exception Ex)
 {
  myTrans.Rollback();
  Response.Write(Ex.ToString());
  Response.Write("写入数据库失败!");
 }
 finally
 {
  myConnection.Close();
 }

posted on 2008-12-06 21:46  鱼跃于渊  阅读(165)  评论(0)    收藏  举报

导航