CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  基础类

pb事务的严重问题:

楼主wqzone(wqzone)2004-12-02 00:02:14 在 PowerBuilder / 基础类 提问

在pb中如果程序出错,事务却没有Rollback而是Commit    
   
  如   :  
  1、   Insert   Into   ...  
  2、dw_1.object.column_name[row]   =   value    
  如果column_name不存在,则系统会报错同时退出系统...,按道理第一步的操作无效,但是却还是执行了  
  请问有没有办法让事务对象只有在Commit语句的时候才提交,其它任何时候都不提交,在没有执行Commit的情况下退出系统,则应该是Rollback 问题点数:20、回复次数:9Top

1 楼sywen(古道西风)回复于 2004-12-02 08:19:40 得分 0

在connect时没有设置sqlca.AutoCommit=falseTop

2 楼config_w(美酒)回复于 2004-12-02 08:25:16 得分 0

我同意楼上的说法(正确),原先我也碰到过,就是上面的方法解决的Top

3 楼feixianzhi(函数)回复于 2004-12-02 08:32:07 得分 0

默认情况下应该是sqlca.AutoCommit=false的!  
  Top

4 楼wu_zh2609(蓝色的风)回复于 2004-12-02 09:11:47 得分 10

可以用  
  TRY         statementClauseT  
   
  {   CATCH   (   ThrowableType   exIdentifier   )         statementClauseC   }{   ...   }{   FINALLY         statementClauseF   }END   TRYTop

5 楼xirumin(吃好喝好)回复于 2004-12-02 16:04:29 得分 0

autocommit都要设置成false,   (图片处理时改为true),   然后,   所有内嵌SQL语句都要显式地判断:  
   
  if   sqlca.sqlcode   =   0   then  
        commit;  
  else  
        rollback;  
        messagebox('','')  
  end   if  
   
  所有数据窗口的update()也同样处理  
   
  if   dw_1.update(true)   =   1   and   dw_2.update(   true   )   =   1   then  
        commit;  
        ....;  
  就不会发生你所说的问题了Top

6 楼wqzone(wqzone)回复于 2004-12-02 17:15:26 得分 0

To   :   xirumin(吃好喝好)  
  请再看看楼主的提问,不是你说的意思...Top

7 楼handycyw(xmccc)回复于 2004-12-02 19:25:12 得分 0

默认情况下是sqlca.AutoCommit=true.  
  sqlca.AutoCommit=true的时候,insert   into是自动commit的  
  在connect前  
  sqlca.AutoCommit=false;  
  则程序错误的时候自动rollback  
  Top

8 楼sbks(hwnd,&rect)回复于 2004-12-02 20:07:18 得分 10

SQLCA.DBParm   =   "CommitOnDisconnect='No'"  
   
  这个选项就在database   profile画板中,把选项勾上,然后看一下preview就知道了Top

9 楼wqzone(wqzone)回复于 2004-12-10 11:02:46 得分 0

To   :   sbks(hwnd,&rect)的意见值的借鉴...  
  谢谢...  
  Top

相关问题

  • 请问在pb中事务的管理
  • 关于PB的事务处理
  • 求助!关于PB中的事务和事务的autocommit属性问题.
  • 邹健等高人请进***触发器事务严重问题****(高分)
  • 非高手莫入, PB 的事务处理 CCCCCCCCCCCCCCCCCCCCCCCCCCC
  • PB 的事务处理和数据库共享
  • 在pb中如何判断事务的连接是否正常!
  • 关于PB中事务的处理问题(锁表原因)
  • 在PB下面的事务处理如何指定回滚段
  • PB 的人气 严重不如 VB VVVVVVVVVVVVVV

关键词

  • 系统
  • 事务
  • sqlca
  • commit
  • rollback
  • dw
  • update
  • true

得分解答快速导航

  • 帖主:wqzone
  • wu_zh2609
  • sbks

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo