标题：PowerBuilder 9.0实用解析
基本信息
作者： 郭宝利 康海涛 李冬冬   
丛书名： PowerBuilder与Sybase技术丛书
出版社：电子工业出版社
ISBN：750539584X
出版日期：2004 年3月
开本：16开
页码：788
内容简介
本书全面、系统地介绍了PowerBuilder 9.0的开发环境、技巧以及笔者多年来的PowerBuilder开发经验。全书共分3部分，第1～19章为C/S开发，第20～24章为B/S应用开发，其余内容为PowerBuilder扩展功能。其中，第1～4章介绍PowerBuilder 的基础知识；第5～9章介绍PowerBuilder的编程知识，并融会了笔者多年来的开发经验；第10～19章和第28章紧密结合软件项目设计思想，介绍了PowerBuilder 项目开发的实用知识；其他章节侧重于PowerBuilder 9.0新增知识和B/S开发的介绍。 
本书涵盖了PowerBuilder 9.0的所有内容，知识点系统、全面和实用，适用于从事或准备从事使用PowerBuilder 进行开发的各层次的工程技术人员以及大中专院校师生。
目录
第1章 powerbuilder基础        1 
1.1 新增功能        1 
1.1.1 改进综述        1 
1.1.2 powerbuilder 9.0的主要特征        3 
1.1.3 powerbuilder 9.0的主要改进        4 
1.2 什么是powerbuilder        12 
1.2.1 画笔        13 
1.2.2 事件和脚本        13 
1.2.3 函数        14 
1.2.4 库文件        14 
1.2.5 创建执行文件        14 
1.3 powerbuilder工作环境        15 
1.3.1 关于powerbar        15 
1.4 使用工具条        17 
1.4.1 下拉工具条        17 
1.4.2 控制工具条的显示        17 
1.4.3 移动工具条        18 
1.4.4 配置工具条        18 
1.4.5 创建新的工具条        20 
1.5 弹出菜单和属性窗口        21 
.1.5.1 弹出菜单        21 
1.5.2 选择对象        21 
1.5.3 属性窗口        21 
1.6 使用文件编辑器        22 
1.6.1 文字的查找和替换        23 
1.6.2 增加或取消行注释        23 
1.6.3 输入、输出文件        24 
1.6.4 选中文字的拖放        24 
1.7 使用在线帮助        24 
1.8 理解powerbuilder对象        24 
1.8.1 属性        25 
1.8.2 函数        25 
1.8.3 事件        26 
1.9 理解配置文件        26 
1.10 配置powerbuilder的启动参数        28 
1.11 开发应用程序的步骤        29 
第2章 application对象        31 
2.1 应用对象操作        31 
2.1.1 创建application        31 
2.1.2 打开application        32 
2.1.3 设置库搜索路径        33 
2.2 application画板        34 
2.2.1 定义变量        35 
2.2.2 编写脚本        35 
2.2.3 定义函数        36 
2.2.4 定义事件        37 
2.2.5 设置属性        37 
2.2.6 编辑环境        38 
2.3 显示应用对象树        38 
2.4 应用对象概述        39 
2.5 应用对象事件        41 
2.5.1 open事件        41 
2.5.2 close事件        43 
2.5.3 idle事件        43 
2.5.4 systemerror事件        43 
2.5.5 connectionbegin事件        49 
2.5.6 connectionend事件        49 
2.6 应用对象函数        49 
2.7 应用对象的属性        50 
2.7.1 general属性        50 
2.7.2 附加属性        52 
2.7.3 toolbar属性        52 
第3章 窗口和窗口画板        53 
3.1 窗口画板        53 
3.1.1 window画板的组成        53 
3.1.2 定制窗口画板        56 
3.1.3 打开和创建窗口        58 
3.1.4 保存窗口        59 
3.1.5 窗口画板中的快捷操作        60 
3.2 关于窗口        60 
3.2.1 窗口的组成        60 
3.2.2 窗口的类型        61 
3.3 设置窗口属性        62 
3.3.1 开发时设置属性        63 
3.3.2 运行时的属性        65 
3.4 使用控件        66 
3.4.1 控件简介        66 
3.4.2 放置控件        67 
3.4.3 选中控件        68 
3.4.4 控件的对齐和大小调整        68 
3.5 窗口对象事件        69 
3.5.1 activate和deactivate事件        70 
3.5.2 open事件        70 
3.5.3 close和closequery事件        70 
3.5.4 resize事件        72 
3.6 窗口的常用函数        72 
3.6.1 open函数        73 
3.6.2 close函数        73 
3.6.3 messagebox函数        73 
第4章 数据库        76 
4.1 数据库概述        76 
4.1.1 表和列        76 
4.1.2 主键        76 
4.1.3 外部键        77 
4.1.4 索引        77 
4.1.5 视图        77 
4.1.6 扩展属性        77 
4.2 database画板        77 
4.2.1 数据库画板概述        78 
4.2.2 画板组成        79 
4.2.3 画板中的操作        79 
4.2.4 定制画板        83 
4.3 本地数据库操作        84 
4.3.1 创建本地库        84 
4.3.2 删除本地库        85 
4.4 数据表操作        86 
4.4.1 创建数据表        86 
4.4.2 定义字段        87 
4.4.3 指定表和字段的扩展属性        88 
4.4.4 替换表        89 
4.4.5 拷贝、剪切、粘贴字段        90 
4.4.6 删除表        90 
4.4.7 表的其他操作        91 
4.4.8 关于系统表        92 
4.5 键操作        92 
4.5.1 查看键        93 
4.5.2 打开相关表        93 
4.5.3 定义主键        93 
4.5.4 定义外部键        94 
4.5.5 修改、删除键        95 
4.6 索引操作        96 
4.6.1 创建索引        96 
4.6.2 修改索引        97 
4.6.3 删除索引        97 
4.7 视图操作        97 
4.7.1 使用视图        97 
4.7.2 打开已存在视图        98 
4.7.3 创建视图        98 
4.7.4 连接表        98 
4.7.5 显示视图的sql语句        100 
4.7.6 删除视图        100 
4.7.7 输出视图的语句        100 
第5章 编写脚本        101 
5.1 powerscript画板        101 
5.1.1 熟悉环境        101 
5.1.2 配置script视窗        102 
5.2 编写脚本        102 
5.2.1 粘贴语句        102 
5.2.2 添加注释        103 
5.2.3 查找替换        104 
5.2.4 编译脚本        105 
5.3 powerscript语言基础        106 
5.3.1 注释        106 
5.3.2 标识符        106 
5.3.3 特殊ascii字符        107 
5.3.4 标号        108 
5.3.5 null值        108 
5.3.6 保留字        109 
5.3.7 指代词        110 
5.3.8 续行和断句        112 
5.3.9 空白        113 
5.4 数据类型和变量声明        113 
5.4.1 变量的作用域        113 
5.4.2 变量声明        114 
5.4.3 变量的存取权限        116 
5.4.4 数据类型        116 
5.5 运算符和表达式        120 
5.5.1 算术运算符        121 
5.5.2 关系运算符        122 
5.5.3 逻辑运算符        123 
5.5.4 连接运算符        123 
5.5.5 运算符的优先级        124 
5.5.6 表达式和赋值        124 
5.6 基本语句        125 
5.6.1 分支语句        125 
5.6.2 循环        127 
5.6.3 call语句        130 
5.6.4 continue语句        131 
5.6.5 exit语句        132 
5.6.6 goto语句        132 
5.6.7 halt语句        133 
5.6.8 return语句        133 
5.7 定制事件        133 
5.8 函数和结构        134 
5.8.1 编写函数        135 
5.8.2 定义结构        136 
5.9 数组        136 
5.9.1 定义数组        137 
5.9.2 给数组赋值        138 
5.9.3 使用数组        139 
5.10 在脚本中嵌入sql语句        140 
5.10.1 事务        141 
5.10.2 在power builder中使用sql语句的格式        141 
5.10.3 连接和断开数据库        142 
5.10.4 选取单行数据        143 
5.10.5 判断事务对象的返回信息        143 
5.10.6 插入、删除和修改数据        145 
第6章 数据窗口对象        147 
6.1 数据窗口画板        147 
6.1.1 设置datawindow画板        147 
6.1.2 design视窗        148 
6.1.3 preview视窗        150 
6.1.4 control list视窗        151 
6.1.5 data视窗        152 
6.1.6 properties视窗        152 
6.1.7 column specification视窗        152 
6.2 创建数据窗口        153 
6.3 数据窗口的数据源        155 
6.3.1 quick select数据源        155 
6.3.2 sql select数据源        156 
6.3.3 query数据源        160 
6.3.4 external数据源        160 
6.3.5 stored procedure（存储过程）        161 
6.4 显示样式        162 
6.4.1 grid显示样式        162 
6.4.2 tabular显示样式        163 
6.4.3 group显示样式        163 
6.4.4 freedom显示样式        165 
6.4.5 label显示样式        166 
6.4.6 n-up显示样式        166 
6.4.7 crosstab显示样式        167 
6.4.8 graph显示样式        168 
6.4.9 composite显示样式        169 
6.4.10 richtext显示样式        169 
6.4.11 ole 2.0显示样式        170 
6.5 数据窗口对象        171 
6.5.1 报表级格式        172 
6.5.2 数据窗口的层次        172 
6.6 数据窗口的修改属性        173 
6.7 字段操作        177 
6.7.1 选择编辑类型        178 
6.7.2 设置字段编辑格式        178 
6.7.3 重要属性设定        182 
6.7.4 增加和删除字段        183 
6.7.5 调整字段的显示顺序        184 
6.8 计算域和计算字段        184 
6.8.1 条件判断        186 
6.8.2 累积        187 
6.8.3 百分比        187 
6.8.4 引用不同行的数据        187 
6.8.5 数据行的修改状态        188 
6.9 排序、过滤和分组        189 
6.9.1 排序        189 
6.9.2 过滤        190 
6.9.3 分组        191 
6.10 数据操作        193 
第7章 使用控件        195 
7.1 命令按钮和图形按钮        195 
7.1.1 概述        195 
7.1.2 常用属性        195 
7.1.3 事件和脚本        196 
7.1.4 典型实例        196 
7.2 列表框和图形列表框        198 
7.2.1 使用概述        199 
7.2.2 常用属性        199 
7.2.3 事件和脚本        200 
7.2.4 常用函数        200 
7.2.5 典型实例        204 
7.3 条状控件        206 
7.3.1 滚动条        206 
7.3.2 轨迹条        209 
7.3.3 进度条        209 
7.4 文本的显示和编辑        210 
7.4.1 单行编辑器        211 
7.4.2 多行编辑器        213 
7.4.3 屏蔽编辑器        214 
7.4.4 富文本编辑器        216 
7.4.5 静态文本        219 
7.4.6 静态链接        219 
7.5 下拉列表框和图形下拉列表框        220 
7.5.1 属性        220 
7.5.2 事件        221 
7.5.3 函数        221 
第8章 数据窗口控件        223 
8.1 例述数据窗口编程        223 
8.2 数据窗口控件属性        228 
8.3 数据窗口事件        230 
8.4 数据窗口事件综述        234 
8.4.1 脚本执行效率        234 
8.4.2 dwo参数的使用        235 
8.5 数据缓冲区        236 
8.5.1 缓冲区        236 
8.5.2 应用实例        237 
8.6 编辑控件        239 
8.7 读取和设置数据        240 
8.8 查询和排序        243 
8.9 数据打印        247 
8.9.1 启动打印作业        248 
8.9.2 关闭打印作业        248 
8.9.3 printdatawindow函数        248 
8.9.4 print函数        249 
第9章 菜单和mdi        251 
9.1 设计菜单        251 
9.1.1 设计菜单项        253 
9.1.2 修改菜单项的属性        253 
9.2 关于菜单的编程        254 
9.2.1 为“退出”菜单项编写脚本        254 
9.2.2 选中某个菜单项        254 
9.2.3 隐含某个菜单项        255 
9.2.4 使某个菜单项失效        255 
9.2.5 调整工具条的位置        255 
9.2.6 修改工具条上鼠标右键弹出菜单中的内容        257 
9.2.7 动态设置microhelp        257 
9.2.8 使用右键弹出菜单        257 
9.2.9 改变窗口中的菜单        258 
9.2.10 设计一个通用工具条配置窗口        258 
9.3 什么是mdi应用        260 
9.3.1 菜单条和工具条        260 
9.3.2 客户区        261 
9.4 菜单和mdi        262 
9.4.1 打开sheet        262 
9.4.2 获取当前sheet        263 
9.4.3 安排sheet的布局        264 
9.4.4 维护菜单        264 
9.4.5 获取工具条的信息        265 
9.4.6 保存和恢复工具条的设置        266 
9.4.7 遍历菜单项        270 
9.5 一个mdi应用实例        270 
9.5.1 打开和关闭mdi时        271 
9.5.2 打开文件时        276 
9.5.3 w_edit 的打开和关闭        279 
9.5.4 窗口w_edit中的其他脚本        281 
9.5.5 其他菜单项的编程        283 
第10章 高级sql语句        294 
10.1 sql语句        294 
10.1.1 where子句        294 
10.1.2 order by子句        297 
10.1.3 表达式        297 
10.1.4 分组        300 
10.2 动态sql语句        300 
10.2.1 类型一        301 
10.2.2 类型二        301 
10.2.3 类型三        302 
10.2.4 类型四        303 
10.3 高级查询        305 
10.3.1 表的连接        305 
10.3.2 子查询        307 
10.4 游标        308 
10.5 事务处理        310 
第11章 窗口使用技巧        314 
11.1 窗口间的协作        314 
11.1.1 在打开和关闭窗口时进行数据传递        314 
11.1.2 不同窗口之间的变量或函数调用        317 
11.1.3 信号灯概念的使用        318 
11.2 创建窗口实例        320 
11.3 使用窗口属性编程        322 
11.4 增强窗口显示效果        323 
11.4.1 窗口最小化时设置动态图标        323 
11.4.2 放置闪烁文字        324 
11.4.3 提高窗口的打开速度        324 
11.4.4 移动不带标题栏的窗口        325 
11.4.5 闪烁窗口标题栏        325 
11.4.6 给窗口添加自动滚动条功能        325 
11.5 自动调整窗口        327 
第12章 数据窗口使用技巧        330 
12.1 标识当前行        330 
12.1.1 使用selectrow函数        330 
12.1.2 使用函数setrowfocusindicator        331 
12.1.3 使用currentrow和getrow两个函数        332 
12.1.4 改变背景或者前景        333 
12.2 显示指定条件的数据        334 
12.2.1 通过修改前景、背景颜色        334 
12.2.2 通过修改设置位图        335 
12.2.3 通过修改边框类型        335 
12.2.4 通过选中标记来标识符合条件的行        336 
12.3 动态数据窗口        336 
12.3.1 动态创建数据窗口        336 
12.3.2 动态关联数据窗口对象        340 
12.3.3 获得数据窗口的sql语句        342 
12.3.4 修改数据窗口的sql语句        343 
12.4 用回车键代替tab键        345 
12.5 拷贝数据        346 
12.5.1 使用getitem()和setitem()函数        346 
12.5.2 使用剪贴板        346 
12.5.3 使用结构类型的数组进行赋值        346 
12.5.4 直接赋值        347 
12.5.5 使用行拷贝的方法        347 
12.6 灵活运用external类型数据窗口        348 
12.7 数据保护        349 
12.7.1 无条件修改部分字段        349 
12.7.2 已有数据不允许修改，只能修改新数据        350 
12.7.3 有条件修改        351 
12.8 数据操作的安全性        351 
12.8.1 通过弹出窗口让用户确认        351 
12.8.2 设立删除数据恢复功能        351 
12.8.3 恢复到打开窗口时的最初状态        353 
12.8.4 窗口关闭时让用户确认对没有保存的数据如何处理        353 
12.9 数据窗口用做下拉列表框        355 
12.10 数据窗口用做列表框        356 
12.10.1 如何选中和取消一行        357 
12.10.2 如何选中多行        357 
12.10.3 如何处理选中的数据        358 
12.11 一个数据窗口修改多个表        359 
第13章 通用查询        361 
13.1 powerbuilder仓库的构成        361 
13.2 通用查询系统的分析        362 
13.2.1 读取数据库中某用户的所有表        363 
13.2.2 显示选中表中的所有字段        363 
13.2.3 查询条件的指定        364 
13.2.4 显示数据        365 
13.2.5 保存用户组合的查询条件        365 
13.3 界面设计        366 
13.4 查询条件窗口的编程        368 
13.4.1 定义实例变量        368 
13.4.2 窗口的open事件        368 
13.4.3 查询条件的组合        369 
13.4.4 其他功能        377 
13.5 数据显示窗口的编程        378 
第14章 数据窗口对象        386 
14.1 数据窗口对象概述        386 
14.2 获取数据窗口信息        387 
14.2.1 函数describe        387 
14.2.2 对列的引用        387 
14.2.3 函数evaluate        388 
14.2.4 函数lookupdisplay        388 
14.3 修改数据窗口信息        389 
14.3.1 创建对象        389 
14.3.2 删除对象        390 
14.3.3 特性修改        390 
14.4 字段和计算域的重要属性        391 
14.4.1 获取字段的类型（coltype属性）        391 
14.4.2 背景属性（background.property）        391 
14.4.3 指定检索规则（criteria.property属性）        392 
14.4.4 edit风格的字段属性（edit.property属性）        392 
14.4.5 字段的显示格式（format属性）        393 
14.4.6 设置数据窗口修改时的主键（key属性）        394 
14.4.7 字段名称（name属性）        394 
14.4.8 字段中的数据保护（protect属性）        394 
14.4.9 字段的滑动属性（slideleft和slideup）        395 
14.4.10 字段的taborder值（tabsequence属性）        395 
14.4.11 用户是否可以保存字段内容（update属性）        395 
14.4.12 字段校验（validation和validationmsg属性）        396 
14.4.13 计算域的属性        396 
14.5 button的重要属性        397 
14.5.1 action属性        397 
14.5.2 suppresseventprocessing属性        398 
14.5.3 text属性        398 
第15章 子数据窗口        399 
15.1 子数据窗口的一般用法        399 
15.1.1 子数据窗口和父数据窗口的关系        399 
15.1.2 获取子数据窗口的引用        400 
15.1.3 保证子数据窗口中的数据更新        400 
15.2 检索子数据窗口        401 
15.2.1 子数据窗口和父数据窗口共享事务对象        402 
15.2.2 检索子数据窗口的数据        402 
15.2.3 使用带参数检索        403 
15.3 共享子数据窗口        403 
15.4 子数据窗口的灵活运用        404 
第16章 大文本对象的处理        406 
16.1 blob对象处理方法        406 
16.2 使用ole处理blob对象        407 
16.3 一个图像处理的实例        408 
第17章 数据管道        412 
17.1 数据管道        412 
17.1.1 数据管道对象        412 
17.1.2 数据管道画板        413 
17.2 管道用户对象        417 
17.2.1 管道属性        417 
17.2.2 管道事件        419 
17.2.3 管道方法        419 
17.3 运行数据管道        421 
17.4 在程序中执行管道        422 
第18章　高级控件        427 
18.1 图形列表框和下拉图形列表框        427 
18.1.1 快速入门        427 
18.1.2 典型编程        428 
18.1.3 相关属性        429 
18.2 tab控件        429 
18.2.1 快速入门        430 
18.2.2 典型编程        430 
18.2.3 标签属性        431 
18.2.4 标签控件的事件        433 
18.3 listview控件        433 
18.3.1 控件显示方式        433 
18.3.2 快速入门        434 
18.3.3 典型编程        435 
18.3.4 属性        437 
18.3.5 函数        438 
18.3.6 事件        441 
18.4 lreeview控件        442 
18.4.1 快速入门        443 
18.4.2 典型编程        443 
18.4.3 属性        445 
18.4.4 函数        446 
18.4.5 事件        448 
18.5 图形控件的使用        449 
18.5.1 基础知识        449 
18.5.2 图形外观        450 
18.5.3 快速入门        452 
18.5.4 属性        453 
18.5.5 开发环境        454 
18.5.6 graph控件函数        458 
18.5.7 数据窗口中的graph控件        463 
18.5.8 应用实例        463 
第19章 pfc编程        468 
19.1 pfc概述        468 
19.1.1 理解pfc        468 
19.1.2 pfc的构成        469 
19.1.3 pfc的体系结构        470 
19.2 pfc编程基础        471 
19.2.1 设置application管理        471 
19.2.2 创建应用        474 
19.2.3 使用属性对象        475 
19.2.4 使用pfc常量        475 
19.2.5 消息路由        476 
19.2.6 pfc的事务管理        476 
19.2.7 调用父函数和事件        477 
19.2.8 为应用添加在线帮助        478 
19.2.9 安装pfc的最新版本        478 
19.3 application服务        478 
19.3.1 建立application manager        479 
19.3.2 application manager服务        480 
19.3.3 标准类用户对象        482 
19.4 菜单        482 
19.5 窗口和窗口服务        483 
19.5.1 基窗口服务        484 
19.5.2 pfc_w_master        484 
19.5.3 其他窗口服务        486 
19.6 数据窗口服务        488 
19.6.1 sort服务        488 
19.6.2 查找和替换服务        489 
19.6.3 dropdown search服务        489 
19.6.4 required column服务        490 
19.6.5 linkage服务        490 
19.6.6 multitable update服务        492 
19.6.7 row management 服务        492 
19.7 可视化控件        493 
19.7.1 标准可视用户对象的基本函数        494 
19.7.2 数据窗口控件u_dw        496 
第20章 开发web应用        499 
20.1 powerbuilder 9.0对web应用支持的增加        499 
20.1.1 web target        499 
20.1.2 4gl web页面        499 
20.1.3 web数据窗口编程        500 
20.1.4 web数据窗口容器部件        500 
20.1.5 按钮图片        500 
20.1.6 生成html        501 
20.1.7 easerver的整合        501 
20.2 使用web target        503 
20.2.1 关于web target        503 
20.2.2 关于web target的开发环境        504 
20.2.3 在集成的web分发环境中工作        507 
20.2.4 将powersite的工程迁移到web target        509 
20.3 开发web应用        510 
20.3.1 设置web target        510 
20.3.2 操作web target中的单个文件        513 
20.3.3 添加内容        514 
20.3.4 使用系统树        515 
20.3.5 创建web页面        517 
20.4 操作html页面        518 
20.4.1 html编辑器        518 
20.4.2 打开和设置html编辑器        520 
20.4.3 页面和html源码的基本操作        523 
20.4.4 重要页面要素        527 
20.4.5 页面布局        531 
20.5 使用样式表和框架结构        532 
20.5.1 关于样式表        532 
20.5.2 样式表编辑器        533 
20.5.3 样式表的基本编辑        535 
20.5.4 编辑框架和框架设置        539 
20.6 使用图片和其他媒体部件        541 
20.6.1 插入图片        541 
20.6.2 创建电子地图        542 
20.6.3 多媒体        543 
20.6.4 可用部件        543 
20.6.5 插入部件        543 
20.6.6 设计时部件        543 
20.6.7 java类路径        544 
20.7 编写脚本        545 
20.7.1 关于脚本        545 
20.7.2 编辑脚本        548 
20.7.3 编程技术和技巧        551 
20.8 使用应用服务器和事务服务器        553 
20.8.1 和应用服务器的结合        553 
20.8.2 使用服务器端脚本        554 
20.8.3 关于web target对象模型        556 
20.8.4 访问数据库连接        558 
20.8.5 管理页面数据        559 
20.8.6 和easerver的结合        566 
20.9 开发4gl页面        569 
20.9.1 关于4gl web页面        569 
20.9.2 开发页面        570 
20.9.3 使用参数和变量        573 
20.9.4 访问easerver服务器部件        575 
20.9.5 添加控件        578 
20.9.6 设置页面导航        581 
20.9.7 编写服务器端脚本        586 
20.9.8 页面如何请求处理工作        590 
20.9.9 关闭4gl页面模式        591 
20.10 关于web数据窗口设计时控件        591 
20.10.1 使用web数据窗口dtc        591 
20.10.2 将页面和数据窗口集成        593 
20.10.3 数据窗口显示样式和属性设置        598 
20.10.4 数据和数据窗口检索参数绑定        599 
20.10.5 定义数据窗口中的链接        602 
20.11 编译和部署web target        604 
20.11.1 概述        604 
20.11.2 编译web target        604 
20.11.3 部署        606 
20.11.4 设置部署配置        607 
20.11.5 修改web site的部署配置        608 
20.11.6 部署到远程powerdynamo服务器上的配置        610 
20.11.7 编辑jsp部署配置        610 
20.11.8 部署web target        616 
20.11.9 运行web target        616 
第21章 数据窗口对xml的支持        617 
21.1 关于xml        617 
21.1.1 xml快速入门        617 
21.1.2 xml的概念        622 
21.1.3 xml的术语        626 
21.1.4 xml语法        630 
21.1.5 xml实例解析        635 
21.1.6 xml相关资源        637 
21.2 数据窗口对xml的支持        638 
21.3 输出xml        639 
21.3.1 输出模板        639 
21.4 export template视窗        640 
21.4.1 创建模板        641 
21.4.2 保存模板        642 
21.4.3 header和detail节        643 
21.4.4 编辑输出模板        646 
21.4.5 输入模板        651 
21.5 保存为xsl-fo        656 
21.6 powerscript对xml支持的增强        657 
21.6.1 新增saveastype取值        657 
21.6.2 import方法对xml的支持        658 
21.6.3 data.xml        659 
21.6.4 data.xmldtd        660 
21.6.5 data.xmlschema        660 
21.6.6 data.xslfo        660 
21.6.7 export.xml.headgroups        661 
21.6.8 export.xml.metadatatype        661 
26.6.9 export.xml.savemetadata        662 
21.6.10 export.xml.templatecount        662 
21.6.11 export.xml.template[ ].name        663 
21.6.12 export.xml.usetemplate        663 
21.6.13 import.xml.usetemplate        663 
第22章 jsp目标        665 
22.1 关于jsp        665 
22.1.1 jsp是怎样工作的        666 
22.1.2 jsp构成        666 
22.1.3 jsp中的应用逻辑        666 
22.2 jsp web目标向导        667 
22.2.1 添加标记库        667 
22.2.2 指定服务器类型        667 
22.3 jsp页面设计        668 
22.3.1 jsp指令        669 
22.3.2 jsp宏指令        671 
22.3.3 程序元素        673 
22.3.4 定制标记        675 
22.3.5 为web service定制标记        675 
22.3.6 注释        676 
22.3.7 错误处理        677 
22.4 jsp web目标对象模型        678 
22.5 jsp部署配置        680 
22.5.1 常规部署配置        680 
22.5.2 jsp部署选项        682 
22.6 定制web数据窗口标记库        687 
22.6.1 datawindow        687 
22.6.2 dwcolumnlink        688 
22.6.3 使用datawindow标记的例子        688 
第23章 创建ejb客户端        692 
23.1 概述        692 
23.1.1 关于pbejbclient90.dll        692 
23.1.2 关于ejb代理对象        692 
23.1.3 处理过程概述        692 
23.1.4 path和classpath的设置        693 
23.2 设置搜索路径        693 
23.3 生成ejb代理对象        694 
23.3.1 使用ejb proxy project        694 
23.3.2 使用ejb2pb90工具        695 
23.3.3 浏览生成的代理        696 
23.3.4 实例        696 
23.3.5 数据类型映射        697 
23.4 创建java虚拟机        697 
23.5 连接服务器        698 
23.5.1 classpath的设置        699 
23.6 调用组件方法        700 
23.6.1 使用lookup方法        700 
23.6.2 创建或者查找ejb实例        701 
23.6.3 调用ejb方法        701 
23.6.4 断开和服务器的连接        702 
23.7 异常处理        702 
23.7.1 捕获异常        702 
23.7.2 不处理的异常        703 
23.8 事务管理        703 
23.8.1 开始和结束事务        703 
23.8.2 获取事务的信息        704 
23.8.3 设置事务的超时        704 
23.9 调试客户端        704 
23.10 类和对象详解        704 
23.10.1 ejbconnection        705 
23.10.2 ejbhandle        708 
23.10.3 ejbhome        708 
23.10.4 ejbhomehandle        708 
23.10.5 ejbmetadata        708 
23.10.6 ejbobject        709 
23.10.7 ejbtransaction        710 
23.10.8 javavm        713 
第24章 创建web service客户端        715 
24.1 关于web service        715 
24.1.1 xml和xsd        715 
24.2 把pbsoapclient90.pbd放在搜索路径中        717 
24.3 生成web service的代理对象        717 
24.3.1 创建代理对象        717 
24.3.2 xml方法别名        719 
24.3.3 数据类型映射        719 
24.3.4 关于数组        719 
24.4 连接soap服务器        719 
24.5 调用web service方法        720 
24.6 生成web service        720 
24.7 异常处理        721 
24.7.1 捕获错误        721 
24.7.2 不可处理的错误        721 
24.8 相关类        721 
24.8.1 soapconnection类        721 
24.8.2 soapexception类        722 
第25章 pb的文档对象模型        724 
25.1 关于pbdom        724 
25.1.1 pbdom_object        726 
25.1.2 pbdom_document        727 
25.1.3 pbdom_doctype        727 
25.1.4 pbdom_element        727 
25.1.5 pbdom_attribute        727 
25.1.6 pbdom_namespace        728 
25.1.7 pbdom_characterdata        728 
25.1.8 pbdom_text        728 
25.1.9 pbdom_cdata        728 
25.1.10 pbdom_comment        728 
25.1.11 pbdom_processinginstruction        728 
25.1.12 pbdom_builder        728 
25.2 使用pbdom        729 
25.2.1 装载xml文件        729 
25.2.2 加载纯xml        729 
25.2.3 创建xml文件        729 
25.2.4 创建        730 
25.2.5 访问节点数据        731 
25.2.6 使用数组改变节点内容        732 
25.2.7 操作节点数层次        732 
第26章 pbni概述        733 
26.1 关于pbni和pb扩展        733 
26.1.1 pbni元素        733 
26.1.2 pbni sdk        734 
26.1.3 pbni和jni比较        735 
26.2 建立pb扩展        735 
26.2.1 创建pb扩展        735 
26.2.2 使用pb扩展        740 
26.2.3 pb扩展实例        741 
26.2.4 使用visual c++向导        745 
26.3 使用pbni        746 
26.3.1 pbni和powerbuilder进行数据交换        746 
26.3.2 调用powerbuilder函数        748 
26.3.3 异常处理        752 
26.3.4 创建marshaler扩展        752 
26.4 pbni工具介绍        758 
26.4.1 pbsig90        758 
26.4.2 pbx2pbd90        759 
第27章 orcascript语言        761 
27.1 关于orcascript        761 
27.2 orcascript命令        762 
27.3 orcascript命令参数        764 
第28章 pb编码规范        766 
28.1 综述        766 
28.1.1 编程对象的分类        766 
28.1.2 编程对象的组织        766 
28.2 团队开发        767 
28.3 版本说明        767 
28.4 对象命名规范        768 
28.4.1 命名约定        768 
28.4.2 具体命名规则        768 
28.5 变量命名规范        771 
28.5.1 变量类型约定        772 
28.5.2 变量范围命名约定        772 
28.6 编程规范        773 
28.6.1 书写格式        773 
28.6.2 流控制        773 
28.6.3 注释及格式要求        774 
28.6.4 powerbuilder脚本编程规范        776 
28.7 控件编程规范        779 
28.7.1 公共部分        779 
28.7.2 控件细则        780 
28.8 用户反馈        783 
28.8.1 使用反馈的场合        783 
28.8.2 提供反馈的几种技术手段        783 
28.9 提高程序的健壮性        784 
28.9.1 安全的应用软件        784 
28.9.2 什么是安全的应用        784 
28.9.3 使用数据窗口中应注意的问题        785 
28.10 文档标准        786 
28.10.1 注释        786 
28.10.2 联机帮助        787 
28.11 错误处理标准        787 
28.12 其他        788