微軟企業庫簡單用法

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;


 

 

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章