微软企业库简单用法

Microsoft.Practices.EnterpriseLibrary.Data.dll , v2.0.50727

 1.带事务连接


					Database db = DatabaseFactory.CreateDatabase();
				  using (DbConnection Conn = db.CreateConnection())
				  {
				      if (Conn.State != ConnectionState.Open)
				      {
				          Conn.Open();
				      }
				      DbTransaction Tran = Conn.BeginTransaction();//默认2级
				       try
				      {
				          strSql = "select * from test where dTypeID=@dTypeID";
				          DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());
				          db.AddInParameter(dbCommand, "dTypeID", DbType.Int32, dTypeID
				          db.ExecuteScalar(dbCommand, dbTran);
				          Tran.Commit();
				  		} 
				      catch (Exception ex)
				      { 
				          Tran.Rollback();
				      } 
				  }


2.企业库的事务级别

默认2级,以最后一次设置的级别为当前执行级别。若有nolock则按最低级执行

例如:若上次执行的事务级别设置成1级,则当前无事务查询就会变成1级

 

Database db = DatabaseFactory.CreateDatabase("mssqlConnectionString");
            using (DbConnection connection = db.CreateConnection())
            {
                connection.Open();
                DbTransaction transaction = connection.BeginTransaction(IsolationLevel.ReadUncommitted);//1级最低级
                StringBuilder strSql = new StringBuilder();
                strSql.Append(" select BuyAmount from UnionLottoMergeDetail  ");
                DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString()); 
                DataSet ds = db.ExecuteDataSet(dbCommand, transaction); 
                transaction.Commit();
                this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
            } 


 

//若不设置事务等级,则会按上次使用时设置的等级执行
            this.dataGridView2.DataSource = null; 
            Database db = DatabaseFactory.CreateDatabase("mssqlConnectionString");
            StringBuilder strSql = new StringBuilder();
            strSql.Append(" select BuyAmount from UnionLottoMergeDetail  ");
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());
            DataSet ds = db.ExecuteDataSet(dbCommand);
            this.dataGridView2.DataSource = ds.Tables[0].DefaultView;


 

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值