数据库事务原理及实践(下)

来源:岁月联盟 编辑:zhu 时间:2006-03-28

另一个走向极端的错误

??满怀信心的新手们可能为自己所掌握的部分知识陶醉不已,刚接触数据库库事务处理的准开发者们也一样,踌躇满志地准备将事务机制应用到他的数据处理程序的每一个模块每一条语句中去。的确,事务机制看起来是如此的诱人——简洁、美妙而又实用,我当然想用它来避免一切可能出现的错误——我甚至想用事务把我的数据操作从头到尾包裹起来。

??看着吧,下面我要从创建一个数据库开始:


    using System;
using System.Data;
using System.Data.SqlClient;

namespace Aspcn
{
  public class DbTran
  {
   file://执行事务处理
   public void DoTran()
   {
    file://建立连接并打开
    SqlConnection myConn=GetConn();
    myConn.Open();

    SqlCommand myComm=new SqlCommand();
    SqlTransaction myTran;

    myTran=myConn.BeginTransaction();

    file://下面绑定连接和事务对象
    myComm.Connection=myConn;
    myComm.Transaction=myTran;

    file://试图创建数据库TestDB
    myComm.CommandText="CREATE database TestDB";
    myComm.ExecuteNonQuery();

    file://提交事务
    myTran.Commit();
   }

   file://获取数据连接
   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()
   {
    DbTran tranTest=new DbTran();
    tranTest.DoTran();
    Console.WriteLine("事务处理已经成功完成。");
    Console.ReadLine();
   }
  }
}

??//---------------