事务问题,高手请进

jackyzhao213 2003-10-15 01:41:49
sqlserver2000+IIS5.0+asp,网络三层架构,我的问题是我的组件分两层:一是业务逻辑层,一个是数据层,我在业务逻辑层可能业务逻辑很复杂,调用了很多数据层的接口,我怎么在业务逻辑层实现事务,比如rollback,把所有更改过的数据做事务回滚??建议者有分
...全文
69 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
davidlv 2003-10-16
  • 打赏
  • 举报
回复
另外还有一个办法,你在数据层中把事务写public

数据层对象

public sub BeginTrans
call mcnn.begintrans
end sub

public sub CommitTrans
call mcnn.CommitTrans
end sub

public sub RollBack
call mcnn.rollback
end sub



业务层
function A

call 对象.BeginTrans

a符合条件1
调用db层function1更新表1
b符合条件2
调用db层function2更新表2


call 对象.CommitTrans

ErrH:
call 对象.rollback
end function
jackyzhao213 2003-10-16
  • 打赏
  • 举报
回复
多谢davidlv(断刀客),但是应该是有办法的,我的数据库是sqlserver2000
davidlv 2003-10-16
  • 打赏
  • 举报
回复
如果你的DB层中没有事务操作,可以这样
function A

'事务开始

a符合条件1
调用db层function1更新表1
b符合条件2
调用db层function2更新表2

'事务结束

ErrH:
rollback
end function
davidlv 2003-10-16
  • 打赏
  • 举报
回复
你这样是有问题的,你调用的DB层的FUNCTION1中肯定也有事务操作,如果你想这样就会造成事务嵌套,这是不行的,会报错的,我是把业务中的内容规划了一下,我的中间层只有你所说的DB层这一层,业务的内容也放在里面了,这个要好好规划,不然会很乱的。
jackyzhao213 2003-10-16
  • 打赏
  • 举报
回复
比如:
业务层:
functionA
a符合条件1
调用db层function1更新表1
b符合条件2
调用db层function2更新表2
如果function2出错或数据不合规则,
要RollBack b是必须,但a也要RollBack怎么做
jackyzhao213 2003-10-16
  • 打赏
  • 举报
回复
但是如果db层又调用db层的接口修改数据库就不行了,只能控制一个模块
davidlv 2003-10-16
  • 打赏
  • 举报
回复
并发我是通过AddLock,FreeLock(自己写的方法来做),说明起来又是很多了,我的MSN:yongliang_lv@msn.com
jackyzhao213 2003-10-16
  • 打赏
  • 举报
回复
这好象是个办法,我试一下,多谢,但我但心会不会有并发错误
davidlv 2003-10-15
  • 打赏
  • 举报
回复
我写过三层,但rollback事务都是放在业务层中的每一个自定义方法中的,你的意思是什么
谢谢大家的支持,我会陆续上传相关电子书 由于体积较大,本书分四卷压缩,请都下载完再解压! Java高手真经 高级编程篇 下载(一) http://download.csdn.net/source/3275208 Java高手真经 高级编程篇 下载(二) http://download.csdn.net/source/3275230 Java高手真经 高级编程篇 下载(三) http://download.csdn.net/source/3275245 Java高手真经 高级编程篇 下载(四) http://download.csdn.net/source/3275262 本书讲解Java Web开发中的高级开发技术,包括企业级的开发技术EJB、各种Java EE的分布式开发技术、Java Web的各种开源技术与框架,这3部分内容层层递进,涵盖了Java EE开发中的各种分布式与业务核心技术。讲解的主要内容包括如下。   Java Web企业级开发技术EJB:包括会话Bean、消息驱动Bean、实体Bean、拦截器、依赖注入、定时器、JPA持久化、JPQL查询语言。   Java Web分布式开发技术:包括JTA事务管理、JAAS验证与授权服务、JNDI命名和目录服务、JMS消息服务、JavaMail邮件服务、WebService、JMX管理、JCA连接器。   Java Web开源技术与框架:包括工作流、规则引擎、搜索引擎、缓存引擎、任务调度、身份认证、报表服务、系统测试、集群与负载均衡。   随书附赠光盘内容为本书各种原型包、系统源程序。本书内容循序渐进,通俗易懂,覆盖了Java Web高级开发的各种技术。无论对于Java软件设计还是软件开发,本书都是精通开发Java Web应用的必备的实用手册。   本书适合作为Java相关培训机构的教材,也可作为Java自学人员的参考手册。
谢谢大家的支持,我会陆续上传相关电子书 由于体积较大,本书分四卷压缩,请都下载完再解压! Java高手真经 高级编程篇 下载(一) http://download.csdn.net/source/3275208 Java高手真经 高级编程篇 下载(二) http://download.csdn.net/source/3275230 Java高手真经 高级编程篇 下载(三) http://download.csdn.net/source/3275245 Java高手真经 高级编程篇 下载(四) http://download.csdn.net/source/3275262 本书讲解Java Web开发中的高级开发技术,包括企业级的开发技术EJB、各种Java EE的分布式开发技术、Java Web的各种开源技术与框架,这3部分内容层层递进,涵盖了Java EE开发中的各种分布式与业务核心技术。讲解的主要内容包括如下。   Java Web企业级开发技术EJB:包括会话Bean、消息驱动Bean、实体Bean、拦截器、依赖注入、定时器、JPA持久化、JPQL查询语言。   Java Web分布式开发技术:包括JTA事务管理、JAAS验证与授权服务、JNDI命名和目录服务、JMS消息服务、JavaMail邮件服务、WebService、JMX管理、JCA连接器。   Java Web开源技术与框架:包括工作流、规则引擎、搜索引擎、缓存引擎、任务调度、身份认证、报表服务、系统测试、集群与负载均衡。   随书附赠光盘内容为本书各种原型包、系统源程序。本书内容循序渐进,通俗易懂,覆盖了Java Web高级开发的各种技术。无论对于Java软件设计还是软件开发,本书都是精通开发Java Web应用的必备的实用手册。   本书适合作为Java相关培训机构的教材,也可作为Java自学人员的参考手册。
谢谢大家的支持,我会陆续上传相关电子书 由于体积较大,本书分四卷压缩,请都下载完再解压! Java高手真经 高级编程篇 下载(一) http://download.csdn.net/source/3275208 Java高手真经 高级编程篇 下载(二) http://download.csdn.net/source/3275230 Java高手真经 高级编程篇 下载(三) http://download.csdn.net/source/3275245 Java高手真经 高级编程篇 下载(四) http://download.csdn.net/source/3275262 本书讲解Java Web开发中的高级开发技术,包括企业级的开发技术EJB、各种Java EE的分布式开发技术、Java Web的各种开源技术与框架,这3部分内容层层递进,涵盖了Java EE开发中的各种分布式与业务核心技术。讲解的主要内容包括如下。   Java Web企业级开发技术EJB:包括会话Bean、消息驱动Bean、实体Bean、拦截器、依赖注入、定时器、JPA持久化、JPQL查询语言。   Java Web分布式开发技术:包括JTA事务管理、JAAS验证与授权服务、JNDI命名和目录服务、JMS消息服务、JavaMail邮件服务、WebService、JMX管理、JCA连接器。   Java Web开源技术与框架:包括工作流、规则引擎、搜索引擎、缓存引擎、任务调度、身份认证、报表服务、系统测试、集群与负载均衡。   随书附赠光盘内容为本书各种原型包、系统源程序。本书内容循序渐进,通俗易懂,覆盖了Java Web高级开发的各种技术。无论对于Java软件设计还是软件开发,本书都是精通开发Java Web应用的必备的实用手册。   本书适合作为Java相关培训机构的教材,也可作为Java自学人员的参考手册。
谢谢大家的支持,我会陆续上传相关电子书 由于体积较大,本书分四卷压缩,请都下载完再解压! Java高手真经 高级编程篇 下载(一) http://download.csdn.net/source/3275208 Java高手真经 高级编程篇 下载(二) http://download.csdn.net/source/3275230 Java高手真经 高级编程篇 下载(三) http://download.csdn.net/source/3275245 Java高手真经 高级编程篇 下载(四) http://download.csdn.net/source/3275262 本书讲解Java Web开发中的高级开发技术,包括企业级的开发技术EJB、各种Java EE的分布式开发技术、Java Web的各种开源技术与框架,这3部分内容层层递进,涵盖了Java EE开发中的各种分布式与业务核心技术。讲解的主要内容包括如下。   Java Web企业级开发技术EJB:包括会话Bean、消息驱动Bean、实体Bean、拦截器、依赖注入、定时器、JPA持久化、JPQL查询语言。   Java Web分布式开发技术:包括JTA事务管理、JAAS验证与授权服务、JNDI命名和目录服务、JMS消息服务、JavaMail邮件服务、WebService、JMX管理、JCA连接器。   Java Web开源技术与框架:包括工作流、规则引擎、搜索引擎、缓存引擎、任务调度、身份认证、报表服务、系统测试、集群与负载均衡。   随书附赠光盘内容为本书各种原型包、系统源程序。本书内容循序渐进,通俗易懂,覆盖了Java Web高级开发的各种技术。无论对于Java软件设计还是软件开发,本书都是精通开发Java Web应用的必备的实用手册。   本书适合作为Java相关培训机构的教材,也可作为Java自学人员的参考手册。

1,759

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 企业信息化
社区管理员
  • 企业信息化
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧