首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

pb数据窗口多表更新解决思路

2012-02-11 
pb数据窗口多表更新我是这样写的,但是当dw_2失败时,dw_1却更新了,大侠们帮帮忙if dw_1.update(true,false)

pb数据窗口多表更新
我是这样写的,但是当dw_2失败时,dw_1却更新了,大侠们帮帮忙
if dw_1.update(true,false)=1 then 
if dw_2.update(true,false)=1 then 
dw_1.ResetUpdate()
dw_2.ResetUpdate()
commit;
messageBox("系统提示","成功!")
else
rollback;
messageBox("系统提示","失败d!")
end if 
else
rollback;
messageBox("系统提示","失败!")
end if

[解决办法]
update(true,false) 
第一个参数用于在保存前接受用户在DW中作出的更改. 
第二个参数说明在保存时不自动设置更新标志.
说白就是,保存用户的修改,自动执行AcceptText()操作,不清除更新标记,若被更改的数据没有通过有效性验证,取消保存.另外由于第二个参数为false,下次调用update()时本次所有的修改会被再次提交给数据库.dw_2失败时,而dw_1却成功了主要在于第二个参数设置成了false了。
[解决办法]

C/C++ code
PowerBuilder  These statements coordinate the update of two DataWindow objects:int rtncodeCONNECT USING SQLCA;dw_cust.SetTransObject(SQLCA)dw_sales.SetTransObject(SQLCA)rtncode = dw_cust.Update(TRUE, FALSE)IF rtncode = 1 THEN        rtncode = dw_sales.Update(TRUE, FALSE)        IF rtncode = 1 THEN            dw_cust.ResetUpdate() // Both updates are OK            dw_sales.ResetUpdate()// Clear update flags            COMMIT USING SQLCA;   // Commit them        ELSE            ROLLBACK USING SQLCA; // 2nd update failed        END IFEND IF
[解决办法]
最近回复过得帖子,被CSDN给沉了,重新顶起
[解决办法]
从2011年7月23日开始,到了每天凌晨,7月22日以后发的帖子和回复的帖子都会被CSDN恶意的沉掉。每天早上上论坛,帖子列表中能看到的帖子的最后更新日期最晚是7月22日。这无疑让很多提问者的帖子无法被大家浏览,进而无法及时给予解答。

希望 版主:lzp_lrp 能够帮忙反映问题!!!

从“我的社区 → 我回复的帖子”中,可以正常的看到自己回复过的帖子,所以我决定每天手动将我回复过得帖子重新顶起来,希望大家理解并支持我的做法。

最近回复过的帖子,被CSDN给沉了,重新顶起

热点排行