社区
PowerBuilder
帖子详情
初学pb,请问如何用modify多表更新,给点列子吧
tmxkdldw
2004-03-30 09:39:57
初学pb,请问如何用modify多表更新,给点列子吧
...全文
110
2
打赏
收藏
初学pb,请问如何用modify多表更新,给点列子吧
初学pb,请问如何用modify多表更新,给点列子吧
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shaly1119
2004-03-31
打赏
举报
回复
我找着例子做了 但是失败了
谁能帮帮我 我的qq:80168890
jackzhang168
2004-03-30
打赏
举报
回复
--------------------------------------------------------------------------------
摘自http://techinfo.sybase.com
下面的脚本示例了在一个DataWindow中修改它所对应的多个表,
int rc
string err
DataWindow建立了两个表Department和Employee的Join之上,它的Select语句为:
SELECT department.dept_id, department.dept_name,
employee.emp_id, employee.emp_fname,
employee.emp_lname FROM department, employee
在开始设置为对Department表可修改。所以,可以首先修改Department表,设置Reset标志,
以便对表的修改不改变数据窗口的行列状态(假设使用的是SetTransObject,以便对数据库的
修改不会自动提交)
rc = dw_1.Update(true,false)
//如果对Department表的修改成功,下一步就要修改另一个表
IF rc = 1 THEN
//首先,关掉对Department表的修改
dw_1.Modify(department_dept_name.Update = No)
dw_1.Modify(department_dept_id.Update = No)
dw_1.Modify(department_dept_id.Key = No)
//使Employee表成为新的可修改表
dw_1.dwModify(DataWindow.Table.UpdateTable = ~employee~)
dw_1.Modify(employee_emp_id.Update = Yes)
dw_1.Modify(employee_emp_fname.Update = Yes)
dw_1.Modify(employee_emp_lname.Update = Yes)
dw_1.Modify(employee_emp_id.Key = Yes)
然后修改Employee表
rc = dw_1.Update()
IF rc = 1 THEN
COMMIT USING SQLCA;
ELSE
MessageBox(Update of employee table failed, Rolling back changes to & department and employee)
ROLLBACK USING SQLCA;
END IF
如果还要修改别的表,重设修改标志
dw_1.Modify(department_dept_name.Update = Yes)
dw_1.Modify(department_dept_id.Update = Yes)
dw_1.Modify(department_dept_id.Key = Yes)
dw_1.Modify(DataWindow.Table.UpdateTable = ~department~)
dw_1.Modify(employee_emp_id.Update = No)
dw_1.Modify(employee_emp_fname.Update = No)
dw_1.Modify(employee_emp_lname.Update = No)
dw_1.Modify(employee_emp_id.Key = No)
ELSE
MessageBox(Update of department table failed, Rolling back changes to department)
ROLLBACK USING SQLCA;
END IF
PB
:
多表
更新
以当修改它的数据项时,我们不能简单地用dw_1.update()来
更新
table,我们可以在程序中设置数据窗口可
更新
的一个表A(及其可
更新
列),其他表。为不可
更新
,
更新
完表A后,再设置另一表B为可
更新
,表A设置为不可
更新
,...
PB
modify
()函数
dw1.
modify
(modstring) //功能:使用字符串中定义的操作修改数据窗口控件 其中:modstring:string类型,其值定义修改数据窗口的各种操作。 返回值:string .成功时返回空字符串(“”),发生错误时返回一条出错...
合理利用DW完成
PB
的
多表
更新
案例:有一个业务需要同时
更新
两个或以上的表分析:同时
更新
两个表,简单一
点
的就是用其中一个表做DW
更新
,同时用SQL
更新
另外一个表;或者页trigger实现其他表的
更新
。但这样对于相类似的业务就无疑是大大增加工作量...
PB
实现数据窗口的
多表
更新
一般情况下,一个数据窗口只能
更新
一个数据库表,但在MIS开发过程中,我们经常遇到这种情况:一个数据窗口中由两个或更多个数据库表作为数据源,并需要对其进行录入或修改,如何给出
多表
更新
的通用解决方案就成为M
ABAP
MODIFY
内表和数据库表
ABAP
MODIFY
内表和数据库表
PowerBuilder
1,108
社区成员
66,453
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章