RDIFramework.NET 框架兼容各种数据库类型事务使用范例参考
RDIFramework.NET 框架兼容各种数据库类型事务使用范例参考
RDIFramwork.NET框架对数据库的事务做了很好的控制,对多表或多条语句需要在同一事务执行提供了很好的支持,同时支持任意主流类型的数据库,下面的代码可以给用户做为参考。用户可以任意扩展使用。
1、传入实体执行执行事务测试
private bool InEntityTransactionTest(string mainId,string detailId)
{
//可以支持任意流行数据库类型,指定相关的数据库提供者即可(OracleProvider、SqlProvider、SqLiteProvider、MySqlProvider、DB2Provider、OleDbProvider)
IDbProvider dbProvider = new OracleProvider(SystemInfo.BusinessDbConnectionString);
bool result = true;
try
{
dbProvider.BeginTransaction();
//主表
CASE_PRODUCTIN_MAINManager manager = new CASE_PRODUCTIN_MAINManager(dbProvider, Utils.UserInfo);
CASE_PRODUCTIN_MAINEntity mainEntity = manager.GetEntity(dbProvider.SqlSafe(mainId));
manager.Delete(mainEntity);
//子表
CASE_PRODUCTIN_DETAILManager detailManager = new CASE_PRODUCTIN_DETAILManager(dbProvider, Utils.UserInfo);
CASE_PRODUCTIN_DETAILEntity detailEntity = detailManager.GetEntity(dbProvider.SqlSafe(detailId));
detailManager.Delete(detailEntity);
//事务提交
dbProvider.CommitTransaction();
}
catch (Exception ex)
{
//事务回滚
dbProvider.RollbackTransaction();
result = false;
}
return result;
}
2、传入Sql语句事务测试
private bool InSqlTransactionTest(string mainId, string detailId)
{
//可以支持任意流行数据库类型,指定相关的数据库提供者即可(OracleProvider、SqlProvider、SqLiteProvider、MySqlProvider、DB2Provider、OleDbProvider) IDbProvider dbProvider = new SqlProvider(SystemInfo.BusinessDbConnectionString);
bool result = true;
try
{
dbProvider.BeginTransaction();
//主表
string sqlMain = string.Format("DELETE FROM CASE_PRODUCTIN_MAIN WHERE ID = {0}", mainId);
dbProvider.ExecuteNonQuery(sqlMain);
//子表
string sqlDetail = string.Format("DELETE FROM CASE_PRODUCTIN_DETAIL WHERE ID = {0}", detailId);
dbProvider.ExecuteNonQuery(sqlMain);
//事务提交
dbProvider.CommitTransaction();
}
catch (Exception ex)
{
//事务回滚
dbProvider.RollbackTransaction();
result = false;
}
return result;
}
RDIFramework.NET 框架兼容各种数据库类型事务使用范例参考的更多相关文章
- Winform开发框架中实现同时兼容多种数据库类型处理
在很多应用系统里面,虽然一般采用一种数据库运行,但是由于各种情况的需要,可能业务系统会部署在不同类型的数据库上,如果开发的系统能够很方便支持多种数据库的切换,那可以为我们减少很多烦恼,同时提高系统的适 ...
- 记录一次Spring boot 搭建框架连接Mysql数据库注解事务不回滚的故障
搭建了一个新框架,使用了spring boot 替换以简化原来繁杂的spring配置,使用Spring注解管理事务,持久层使用mybatis. 连接mysql数据库完成项目的过程中发现不支持事务,因为 ...
- SQL 横转竖 、竖专横 (转载) 使用Dapper.Contrib 开发.net core程序,兼容多种数据库 C# 读取PDF多级书签 Json.net日期格式化设置 ASPNET 下载共享文件 ASPNET 文件批量下载 递归,循环,尾递归 利用IDisposable接口构建包含非托管资源对象 《.NET 进阶指南》读书笔记2------定义不可改变类型
SQL 横转竖 .竖专横 (转载) 普通行列转换 问题:假设有张学生成绩表(tb)如下: 姓名 课程 分数 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 ...
- 1.NetDh框架之数据库操作层--Dapper简单封装,可支持多库实例、多种数据库类型等(附源码和示例代码)
1.NetDh框架开始的需求场景 需求场景: 1.之前公司有不同.net项目组,有的项目是用SqlServer做数据库,有的项目是用Oracle,后面也有可能会用到Mysql等,而且要考虑后续扩展成主 ...
- 实例演示使用RDIFramework.NET 框架的工作流组件进行业务流程的定义—请假申请流程-Web
实例演示使用RDIFramework.NET 框架的工作流组件 进行业务流程的定义—请假申请流程-Web 参考文章: RDIFramework.NET — 基于.NET的快速信息化系统开发框架 — 系 ...
- Oracle数据库之事务
Oracle数据库之事务 1. 什么是事务 在数据库中事务是工作的逻辑单元,一个事务是由一个或多个完成一组的相关行为的SQL语句组成,通过事务机制确保这一组SQL语句所作的操作要么都成功执行,完成整个 ...
- 使用Dapper.Contrib 开发.net core程序,兼容多种数据库
关于Dapper的介绍,我想很多人都对它有一定的了解,这个类似一个轻型的ORM框架是目前应用非常火的一个东西,据说各方面的性能都不错,而且可以支持多种数据库,在开始介绍这个文章之前,我花了不少功夫来学 ...
- Dapper.Contrib 开发.net core程序,兼容多种数据库
Dapper.Contrib 开发.net core程序,兼容多种数据库 https://www.cnblogs.com/wuhuacong/p/9952900.html 使用Dapper.Contr ...
- 微信公众号开发系列-13、基于RDIFramework.NET框架整合微信开发应用效果展示
1.前言 通过前面一系列文章的学习,我们对微信公众号开发已经有了一个比较深入和全面的了解. 微信公众号开发为企业解决那些问题呢? 我们经常看到微信公众号定制开发.微信公众平台定制开发,都不知道这些能给 ...
随机推荐
- ACM: 限时训练题解-Runtime Error-二分查找
Runtime Error Bahosain was trying to solve this simple problem, but he got a Runtime Error on one ...
- NOI 题库 2753
2753 走迷宫 描述 一个迷宫由R行C列格子组成,有的格子里有障碍物,不能走:有的格子是空地,可以走.给定一个迷宫,求从左上角走到右下角最少需要走多少步(数据保证一定能走到).只能在水平方向或垂直 ...
- C#中常用的与编码有关的代码
如何将字符串转化为字符数组? char[] chars=str.ToArray(); 如何将字符串转化为字节数组? Encoding.ASCII.GetBytes(str); Encoding.Uni ...
- ffmpeg常用命令
windows http://www.cnblogs.com/wainiwann/p/4128154.html ubuntu http://blog.csdn.net/hellowxwworld/ar ...
- 用atom写LaTeX文档
下载并安装Tex Live: 下载页面 下载并安装atom:下载页面 打开atom File -> Settings -> Install 搜索并安装: language-latex la ...
- 黑马程序员----java基础笔记上(毕向东)
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 笔记一共记录了毕向东的java基础的25天课程,分上.中.下 本片为上篇,涵盖前10天课程 1. ...
- linux安装memcached及memcache扩展
一.安装libevent函数库 下载地址:http://libevent.org 默认被安装到:/usr/local/lib目录下 安装memcached之前需要先安装libevent函数库. 可以通 ...
- linux笔记五-------编辑器
1. 三种模式 命令(默认).尾行.编辑模式 2. 尾行模式 : :q 退出vi编辑器 :w 保存修改 :wq 保存并退出编辑 :q! ...
- sign in和sign up区别
如果是网站的话sign up是注册,sign in是登录的意思,另外,sign out退出
- sqlmap用户手册详解(转)
http://url/sqlmap/mysql/get_int.php?id=1 当给sqlmap这么一个url的时候,它会: 1.判断可注入的参数 2.判断可以用那种SQL注入技术来注入 3.识别出 ...