微软企业库中的事务处理
来源:互联网 发布:济南网络营销策划 编辑:程序博客网 时间:2024/05/02 00:56
public bool Transfer(int transactionAmount, int sourceAccount, int destinationAccount) { bool result = false; // Create the Database object, using the default database service. The // default database service is determined through configuration. Database db = DatabaseFactory.CreateDatabase(); // Two operations, one to credit an account, and one to debit another // account. string sqlCommand = "CreditAccount"; DBCommandWrapper creditCommandWrapper = db.GetStoredProcCommandWrapper(sqlCommand); creditCommandWrapper.AddInParameter("@AccountID", DbType.Int32, sourceAccount); creditCommandWrapper.AddInParameter("@Amount", DbType.Int32, transactionAmount); sqlCommand = "DebitAccount"; DBCommandWrapper debitCommandWrapper = db.GetStoredProcCommandWrapper(sqlCommand); debitCommandWrapper.AddInParameter("@AccountID", DbType.Int32, destinationAccount); debitCommandWrapper.AddInParameter("@Amount", DbType.Int32, transactionAmount); using (IDbConnection connection = db.GetConnection()) { connection.Open(); IDbTransaction transaction = connection.BeginTransaction(); try { // Credit the first account db.ExecuteNonQuery(creditCommandWrapper, transaction); // Debit the second account db.ExecuteNonQuery(debitCommandWrapper, transaction); // Commit the transaction transaction.Commit(); result = true; } catch { // Rollback transaction transaction.Rollback(); } connection.Close(); return result; }
在这段例子代码中,其核心就是关于 IDbTransaction 的使用。
=============================================================
自企业库2.0以后,存储过程的command方式有所改变,自至5.0为止都是如下写法
Database DataBase = default(Database); DbCommand dbCommand = DataBase.GetStoredProcCommand("MCS_GET_SEQUENCE"); DataBase.AddInParameter(dbCommand, "I_TABLE_NAME", DbType.String, strTable); DataBase.AddOutParameter(dbCommand, "O_CUR_SEQUENCE", DbType.Int16,10); DataBase.ExecuteNonQuery(dbCommand); strSeqNo = Convert.ToInt16(DataBase.GetParameterValue(dbCommand, "O_CUR_SEQUENCE"));
using connection的写法也变,新版本为
using (IDbConnection connection = db.CreateConnection())
- 微软企业库中的事务处理
- 微软企业库在webform中的简单应用
- 微软企业库
- 微软企业库
- 新任务:微软的企业库.
- 新任务:微软的企业库.
- 微软企业库 简介
- 微软企业库 Enterprise Library
- 微软企业库 学习
- 微软企业库5.0
- 微软企业库缓存使用
- 微软企业库验证
- 微软企业库缓存
- 微软企业库简单用法
- 微软企业库dll引用
- 微软企业库-数据访问
- 微软企业库的使用
- 微软企业库学习笔记(一)
- 【转】华为的JAVA面试题
- 华为面试题及参考答案
- C++的static关键字
- CFA Notes第一遍完成
- 生活小窍门
- 微软企业库中的事务处理
- Amazon EC2初探
- pku3615 Cow Hurdles
- 命令行下安装oracle10g
- 【转】用JDOM建立XML文件
- 用Java语言编写通过代理访问的应用程序
- GetModuleFileName函数
- WaitForMultipleObjects使用详解
- Java应用程序的网络运行环境编程