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;
出自:http://www.xuebuyuan.com/1422950.html