多个DW同时更新,且表中有关系存在,需要注意的击点问题。

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

一次在做到多个表同时更新的时候,出了些问题。

有必要写出来,引起注意。

虽然多个DW(3个)各自对应的都是一个表,但这些表间存在着 关系,而且DW是同时更新。

比如:table_1 : ID , name ,sex .......

table_2: ...ID(与table_1有对应关系), pro_1 ,pro_2......

table_3: ...ID(与table_1有对应关系), reg_time.....

由于没有经验:

第一次,后两个DW里在设计的时候,没有选择与第一个表相关的 项----ID。

后来,发现无法更新。

只能从新设计,将table_2 和 table_3的ID项都分别选在各自的DW中,

但在界面中又不想让其出现,最好的办法---

设置他们的visable属性为False,也就是去掉属性里visable前的“钩”。

设计好后的编码中,我先开始的编码是:

if dw_1.update() = 1 then

if dw_2.update() = 1 then

if dw_3.update() = 1 then

commit;

else

rollback;

end if

end if

end if

----------------------------

但最好还是写成下面比较好:

file://加的SQLCA属性的处理(通用目的)

boolean lb_Tran

lb_Tran = sqlca.AutoCommit

sqlca.AutoCommit = false

IF dw_1.Update() <> 1 THEN

MessageBox("操作提示","dw_1 数据保存失败!")

ROLLBACK;

sqlca.AutoCommit = lb_Tran

RETURN

ELSEIF dw_2.Update() <> 1 THEN

MessageBox("操作提示","dw_2 数据保存失败!")

ROLLBACK;

sqlca.AutoCommit = lb_Tran

RETURN

ELSEIF dw_3.Update() <> 1 THEN

MessageBox("操作提示","dw_3 数据保存失败!")

ROLLBACK;

sqlca.AutoCommit = lb_Tran

RETURN

ELSE

COMMIT

END IF

------------------------------------------------------------------------

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航