PB培训教程(提高篇).ppt
《PB培训教程(提高篇).ppt》由会员分享,可在线阅读,更多相关《PB培训教程(提高篇).ppt(57页珍藏版)》请在课桌文档上搜索。
1、PB培训教程(提高篇),前言,本教程的内容第一章 PB的发展第二章 数据窗口第三章 调试及跟踪第四章 编码规范第五章 辅助工具本教程适合的人群对PB有基础概念有一定的开发经验乐于分享、学习、提高,第一章 PB的发展,本章内容PB6新特性PB7新特性PB8新特性PB9新特性PB10新特性,PB的发展PB6新特性,PB6新特性整体性能增强Internet增强分布式计算增强开发效率的增强扩展的多种语言支持交叉平台支持PowerScript语言增强数据窗口增强数据库连接增强OLE增强应用程序发行方面的增强其他增强参见PowerBuilder6.0开发人员指南,PB的发展PB7新特性,PB7新特性崭新的
2、用户界面和开发方法组件开发和部署方面的新特性数据连接方面的新特性其他新颖的特性参见PowerBuilder7参考手册,PB的发展PB8新特性,PB8新特性用户界面Web功能数据窗口新特性EAServer的集成数据库连接PowerScript新特性进一步提高的易用性和其他增强特性参见PowerBuilder8参考手册,PB的发展PB9新特性,PB9新特性先进的 4GLPLUS 基础 多样的适用性 利用集成开发与设计获得优异的成果 不断增加的强大功能 参见创造最佳的开发环境 Sybase PowerBuilder9.0,PB的发展PB10新特性,PB10新特性集成PowerDesignerXML
3、Web DataWindowDataWindow.NETUnicode support新的控件各式各样的变化数据连接的改变参见PowerBuilder10新特性,第二章 数据窗口,本章内容常见问题函数和事件缓冲区状态位并发控制数据拷贝小技巧,数据窗口常见问题,数据窗口函数和事件,AcceptText,DeleteRow,Clicked,Rowcount,DoubleClikced,GetItemDate etc,GetRow,InsertRow,Constructor,Reset,Retrieve,SetItem,Sort,Update,EditChanged,Error,ItemChange
4、d,SQLPreview,数据窗口缓冲区1,存放填充窗口中DataWindow控件中数据的,调用DataWindow的Retrieve()函数和InsertRow()函数可以将数据填入这个缓冲区中,存储的是从Original Buffer使用Filter()函数过滤到Primary Buffer中后剩余的记录,保存的是用DeleteRow()函数从Primary Buffer中删除的记录,存储的是DataWindow最初执行retrieve()函数时得到的全部记录,Filter,DeleteRow,InsertRowRetrieve,Retrieve,DataWindow有四个缓冲区,数据窗口
5、缓冲区2,dw_1.object.xh1获取数据窗口的主缓冲区的第一行的xh列的值dw_1.SetItem(1,ghdw,浙江联众)为数据窗口主缓冲区的第一行的ghdw列赋值dw_1.object.xh.filter1获取数据窗口过滤缓冲区的第一行的xh列的值dw_1.object.data.primary.current访问主缓冲区dw_1.object.data.primary.original访问原始缓冲区dw_1.object.data.filter.current访问过滤缓冲区dw_1.object.data.delete.current访问删除缓冲区,缓冲区的访问,数据窗口缓冲区3
6、,函数使用与缓冲区的变化,Demo1,Demo1演示DataWindow的四个缓存区,DEMO,数据窗口状态位1,数据窗口的四种状态位NotModified该行或行的值为查询所得,没有发生改变 DataModified该行或列的值为查询所得,发生了改变 New该行或列为一插入的新行,数据没有发生改变(数据为空或缺省值)NewModified该行或列为一插入的新行,数据发生改变,改变是通过用户键盘输入或调用了SetItem()函数,数据窗口状态位2,获取数据窗口的行的状态GetItemStatus(row,column,Dwbuffer)返回值:枚举类型dwItemStatusNew!NewMo
7、dified!NotModified!DataModified!例:下面的代码返回主缓冲区第一行的ghdw列的状态DwItemStatues l_statusl_status=dw_1.GetItemStatus(1,0,Primary!),数据窗口状态位3,设置数据窗口的状态位SetItemStatus(row,column,Dwbuffer,status)例:下面的代码设置主缓冲区第一行的ghdw列的状态为NotModified!dw_1.SetItemStatus(1,ghdw,Primary!,NotModified!)注:并不是所有的状态都可以设置成功!满足下面规则,Demo2,De
8、mo2演示DataWindow的四种状态位,DEMO,数据窗口并发控制1,并发控制 指多用户在同一时间对相同数据同时访问的能力,一般的关系数据库都具有并发控制的能力,PB中用DataWindow的设置来进行并发控制,并发控制区域,数据窗口并发控制2,Where Clause for Update/Delete1 选项“Key Columns”比较更新前后Table的关键字是否发生了变化,即当前数据库中关键字的实际值和最初查询的值做比较,如果没有改变,则可以更新,反之不能更新 因为关键字xh=1没有发生变化,Where条件成立,更新成功!但没有达到并发控制的目的!,示例:修改序号为1的入库单的金
9、额改为3000(原金额为2000),Update wz_rkd Set je=3000 where xh=1;,数据窗口并发控制3,Where Clause for Update/Delete2 选项“Key and Updateable Column”比较更新前后Table的关键字和可修改(更新)的列值是否发生了变化,如果没有一项发生改变,更新成功;反之,若数据库中当前值中若任一项与数据窗口最初检索出的值不一致,则更新失败,示例:修改序号为1的入库单的金额改为3000(原金额为2000,假设所有列都是可更新的),Update wz_rkd Set je=3000 where xh=1 and
10、 fsdm=采购入库 and ghdw=浙江联众 and je=2000 and bz=;,数据窗口并发控制4,Where Clause for Update/Delete2 选项“Key and Updateable Column”上例中,假设在A用户修改的同时,B用户将可修改列之一je的值由2000变为了的2500,where条件不成立,因此更新失败,并弹出出错信息如下,数据窗口并发控制5,Where Clause for Update/Delete3 选项“Key and Modified Columns”比较更新前后Table的关键字和要修改(更新)的列值是否发生了变化,如果没有改变,
11、更新成功,反之更新失败。对于本例,即判断关键字xh和将要修改字段je是否发生变化 上例中可修改(更新)列之一je的值经修改存盘后,已由2000变成了当前的2500,where条件不成立,因此更新失败,但是,如果改变了其他字段的值,比如ghdw,此更新能够成功,示例:修改序号为1的入库单的金额改为3000(原金额为2000),Update wz_rkd Set je=3000 where xh=1 and je=2000;,数据窗口并发控制6,并发控制总结Key Columns该选项在控制数据完整性方面最弱,它所允许的并发操作是最多的,所禁止的并发操作发生的可能性非常小,只有当主键被更改后才起并
12、发控制作用,当一条记录的关键字改变了才进行控制,这显然没有多大意义。实际上这种方法一般只在单机版的应用程序中使用,而在C/S模式中是很少使用的Key and Updateable Columns该选项是PB的默认选项,控制最为严格,可以实现最安全的并发控制,充分保证数据的完整性,但它也会禁止我们做一些本当允许的并发修改,是并发能力最差的方法Key and Modified Columns该选项可以说是前两者的折衷,在控制数据完整性和严格性方面比第一项强,比第二项弱,在允许的并发操作数量方面比第一项少,比第二项多,数据窗口并发控制7,数据窗口Update其他属性Key ModificationU
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PB 培训 教程 提高
![提示](https://www.desk33.com/images/bang_tan.gif)
链接地址:https://www.desk33.com/p-242108.html