- 1
- 0
- 约4.08千字
- 约 3页
- 2025-06-27 发布于北京
- 举报
实现PB数据窗口的多表更新
(深圳:独孤求败2003-05-16)
PowerBuilder的数据窗口对象是其特有的智能对象,其封装性好、功能强大、表现形式丰富多样,
为此,许多MIS开发人员对PowerBuilder推崇备至,将其视为首选开发工具。
一般情况下,一个数据窗口只能更新一个数据库表,但在MIS开发过程中,我们经常遇到这种情
况:一个数据窗口中由两个或更多个数据库表作为数据源,并需要对其进行录入或修改,如何给出多表更
新的通用解决方案就成为MIS开发人员不容回避的问题。笔者在某管理信息系统的开发过程中,尝试了几
种双表更新的解决方法,选出一种比较好的方案,以飨读者。
一、具体步骤
1、在数据窗口建立时,选择SQLSelect,显示风格可以是Tabular、Grid或FreeForm中的任
一种。选出两表需要录入或修改的列,其中两表的主键和非空列必须选中,确定选择条件,建立连接关系。
2、在选单“Rows/Update”中选择第一个表的全部数据项为可更新项。
3、把两表需要修改项的TabOrder数值改为非0值,使其在数据窗口中成为可修改项。
为了使方案具有通用性,建立全局函数f_update_2table,有五个参数:dw_obj、table1、table
2、key1、key2,分别代表所要更新的数据窗口、两表表名和两表主键列名,其中dw_obj为DataWindow类
型,其余四参数均为String类型。该函数返回值为Boolean型,返回True表示成功,返回False表示失
败。
二、函数思路
1、先针对第一个数据库表调用Update函数更新。注意参数的使用:第一个参数作用是控制数据
窗口更新前是否强制性调用AcceptText(),在数据窗口更新前通过有效性验证;第二个参数是控制更新标
志的复位,为True时更新标志复位,为False时更新标志不复位。
2、更改数据窗口的UpdateTable属性,使其指向第二个表,并把第一个表的各数据项Update属
性和主键列的Key属性改为No,接着把第二个表的各数据项Update属性和主键列的Key属性改为Yes。
3、调用Update函数更新第二个表。
4、两表更新成功后,把两表的列属性、主键属性改回到初始状态,以便为下一次的两表更新调用
做好准备。
三、程序清单
//ColName:数据窗口列名
//Name1[],Name2[]:两数据库表选中项列名
//n1,n2:两数据库表选中项数量
//i:循环计数器
//Columns:数据窗口总列数
StringColName,Name1[],Name2[]
IntegerColumns,i,n1=0,n2=0
//下面程序:找出dw_obj的两表列名赋给Name1[],Name2[]
Columns=Integer(dw_obj.Describe(″DataWindow.Column.Count″))
FORi=1TOcolumns
ColName=Upper(dw_obj.Describe(″#″+String(i)+″.Name″))
IFLeft(ColName,Len(Table1))=Table1andColName〈〉Key1THEN
n1=n1+1
Name1[n1]=ColName
ENDIF
IFLeft(ColName,Len(Table2))=Table2andColName〈〉Key2THEN
您可能关注的文档
- 过滤机胶带河南济源万洋肥业.pdf
- zl 17生物安全柜操作维护.pdf
- 艺龙旅行体验痛点.pdf
- 答疑幕墙测算.pdf
- 综合宁波实业.pdf
- 度温馨敬老院活动结.pdf
- 测量报告信息测试设备lte banda4 bw5mhz 3gppv.pdf
- 项目部管理人员安全生产责任制考核.pdf
- 25-26学年政治统编版必修4课件:5.2 社会历史的发展.pptx
- 25-26学年政治(部编版)选择性必修第二册课件:1.2.2 尊重知识产权.pptx
- 25-26学年政治(部编版)选择性必修第二册课件:第1单元 周清1 民法中的人身权及财产权.pptx
- 25-26学年政治(部编版)选择性必修第二册课件:1.4.1 权利保障 于法有据.pptx
- 2025北京丰台区高二(上)期中地理(A卷)含答案.docx
- 2025北京三帆中学初三(上)开学考英语试题含答案.docx
- 2025北京一零一中初三9月月考语文试题含答案.docx
- 2025北京海淀区初三(上)期中道法试题含答案.docx
- 2025北京丰台区高一(上)期中政治(A卷)含答案.docx
- 25-26学年政治统编版必修4课件:3.3 唯物辩证法的实质与核心.pptx
- 25-26学年政治统编版必修4课件:7.2 正确认识中华传统文化.pptx
- 湖北省部分高中2026届高三上学期二模联考 历史试卷.docx
最近下载
- 世界多极化课件-2026届高考政治一轮复习.pptx VIP
- 情感纠纷和解协议书.docx VIP
- 《合同变更与解除》课件 —— 深入解析合同法律风险与管控策略.ppt VIP
- 《现代物流学》说课.ppt VIP
- 2024年苏教版五年级(上)期末考试数学试卷(附答案).pdf VIP
- 浙江省杭州市下沙区杭四下沙2024-2025学年高二上学期期末考物理试卷(原卷版+解析版).docx VIP
- 第六课+走进经济全球化课件-2026届高考政治一轮复习统编版选择性必修一当代国际政治与经济.pptx VIP
- 新解读(2025)《HJ_T 400-2007车内挥发性有机物和醛酮类物质采样测定方法》.pptx VIP
- 《深圳市高质量幼儿园过程性质量提升指导手册》知识检测题测试卷附答案.docx
- 物流公司安全管理制度范本.docx VIP
原创力文档

文档评论(0)