第一部分 背景知识 3
第一章 PowerBuilder的介绍 3
1.1 PowerBuilder的产生及特点 3
1.1.1 PowerBuilder的产生 3
1.1.2 PowerBuilder的特点 3
1.2 PowerBuilder5.0的特色 4
1.3 PowerBuilder6.0的新特性 5
1.3.1 分布式计算 5
1.3.2 支持Web 5
1.3.3 开放技术 6
1.3.4 开发人员的效率 7
第二章 PowerBuilder与客户机/服务器体系结构 8
2.1 什么是客户机(Client) 8
2.2 什么是服务器(Server) 8
2.3 文件服务器、数据库服务器及两者的区别 8
2.3.1 文件服务器 8
2.3.2 数据库服务器 8
2.3.3 文件服务器与数据库服务器的区别 9
2.4 客户机/服务器体系结构的优点 9
2.5 PowerBuilder是客户机/服务器体系结构下客户端的开发工具 10
3.1 PowerBuilder连接到数据库的工作原理 11
第三章 PowerBuilder连接到数据库 11
3.2 通用的ODBC接口软件 12
3.2.1 什么是ODBC 12
3.2.2 ODBC的组成 12
3.3 专用的ODBC接口软件 13
第四章 PowerBuilder6.0的安装 14
4.1 PowerBuilder6.0对软硬件的环境要求 14
4.2 PowerBuilder6.0的安装步骤 14
4.3 与数据库管理系统的连接 19
4.3.1 通过ODBC连接 19
4.3.2 通过专用接口连接 22
第二部分 编程基础 27
第五章 PowerBuilder的开发方法 27
5.1 PowerBuilder开发工具的组成 27
5.1.1 Painter(画笔)的构成 27
5.1.2 PowerBuilder Painter的简介 28
5.2 应用系统的构成 30
5.3 PowerBuilder开发环境的特点 30
5.3.1 可视化开发 30
5.3.2 编辑、编译、运行的不断反复 30
5.4.1 对象 31
5.4 PowerBuilder面向对象编程的基本概念 31
5.3.3 事件驱动 31
5.3.4 独立于数据库的开发方式 31
5.4.2 函数 32
5.4.3 面向对象编程的特征 32
5.5.3 编码 33
5.5.4 调试 33
5.5.5 测试 33
5.5.2 设计 33
5.5.1 分析 33
5.5 PowerBuilder应用程序的开发过程 33
5.5.6 生成可执行程序 34
5.6 通例讲解 34
5.6.1 概述 34
5.6.2 数据库物理设计 35
第六章 用Application Painter创建应用程序 37
6.1 什么是PowerBuilder的应用 37
6.2 什么是应用对象(Application Object) 37
6.3 应用的存储方式 37
6.4 建立应用对象 37
6.4.2 改变应用对象 38
6.4.1 启动Application Painter 38
6.4.3 新建应用对象 39
6.4.4 浏览应用对象中的对象 40
6.5 指定应用对象的属性 40
6.5.1 指定应用的图标 41
6.5.2 指定文本属性 41
6.5.3 指定库搜索路径 42
6.5.4 指定全局变量类型 42
6.6.1 Open(打开) 44
6.6.2 Close(关闭) 44
6.6 应用程序的事件 44
6.6.3 Idle(空闲) 45
6.6.4 SystemError(系统错误) 45
6.6.5 ConnectionBegin/ConnectionEnd(连接开始/结束) 45
6.7 通例学习一:建立PowerBuilder的应用 45
第七章 用Database Painter定义和管理数据库 48
7.1 通例学习二:数据库的建立 48
7.2 Database Painter 58
7.2.1 Database Painter简介 58
7.2.2 Database Painter工作窗口简介 58
7.3.1 创建和删除数据库 59
7.3 数据库(Database) 59
7.3.2 连接拷贝到硬盘上的数据库文件 61
7.3.3 改变当前数据库 61
7.4 表(Table) 62
7.4.1 创建表 62
7.4.2 修改表 62
7.4.3 删除表 62
7.4.4 指定表中列的属性 63
7.5 视图(View) 63
7.5.1 创建视图 64
7.5.4 定义Group by 65
7.5.3 定义Order By子句 65
7.5.2 定义Where子句 65
7.5.5 定义Having子句 66
7.5.6 创建计算列 66
7.5.7 删除视图 66
7.6 数据操纵(Data Manipulation) 67
7.6.1 启动Data Manipulation Painter 67
7.6.2 检索数据 67
7.6.3 修改数据 67
7.6.4 对行排序 67
7.6.6 查看行信息 69
7.6.5 过滤行 69
7.6.7 转入数据 70
7.6.8 打印数据 70
7.6.9 保存数据 71
7.7 数据库管理(Database Administration) 72
7.7.1 启动Data Manipulation Painter 72
7.7.2 控制数据库访问 72
7.7.3 执行SQL 74
7.7.4 解释SQL 76
8.1 通例学习三: 建立窗口 77
第八章 用Window Painter创建窗口 77
8.2 Window Painter 89
8.2.1 窗口的类型 89
8.2.2 启动Window Painter创建窗口 90
8.2.3 自己定制PainterBar 90
8.2.4 定义窗口属性 92
8.3 Window Painter的控件 96
8.3.1 控件概述 96
8.3.2 将控件放入窗口中的方法 96
8.3.5 控件命名 97
8.3.3 选择控件的方法 97
8.3.4 控件的属性 97
8.3.6 改变控件上显示的文本 99
8.3.7 调整控件布局的方法 99
8.3.8 定义Tab顺序 100
8.4 窗口上的事件及其处理程序 101
8.4.1 窗口和控件的事件 101
8.4.2 窗口和控件的处理程序 101
8.5 继承创建窗口 101
8.6 预览设计好的窗口 102
8.7 运行窗口 103
第九章 用Menu Painter制作菜单 104
9.1 通例学习四:创建菜单 104
9.2 PowerBuilder中有关菜单的概念 114
9.3 Menu Painter的简介 115
9.3.1 启动Menu Painter 115
9.3.2 Menu Painter工作区的简介 116
9.4 创建完整的菜单 117
9.4.1 创建菜单项 117
9.4.3 为菜单项定义图标 118
9.4.2 为菜单项定义快捷键、加速键和组合键 118
9.4.4 在菜单上创建分隔符 119
9.4.5 预览已创建好的菜单 120
9.5 使用继承建立菜单 120
9.5.1 使用继承的方法 121
9.5.2 使用继承应注意的事情 121
9.6 菜单项的事件及处理程序 122
9.6.1 菜单项的事件 122
9.6.2 菜单项的处理程序 122
9.7 将菜单连接到窗口上 122
9.8.2 弹出窗口菜单 123
9.8.3 弹出不可见菜单 123
9.8 创建弹出式菜单 123
9.8.1 在哪里触发弹出菜单 123
9.8.4 弹出其它菜单 125
第十章 用PowerScript Painter编写脚本 127
10.1 启动PowerScript Painter 127
10.1.1 Application Painter 中的Script Painter 127
10.1.2 Menu Painter 中的Script Painter 127
10.1.3 Windows Painter中的 Script Painter 128
10.3.1 选择文本 129
10.3 处理文本 129
10.1.4 User Object中的 Scrint Painter 129
10.2 PowerScript Painter的简介 129
10.3.2 清除、剪切、拷贝和粘贴文本 130
10.3.3 移动文本 130
10.3.4 撤消 130
10.3.5 查找和替换 130
10.4 另一种粘贴 131
10.4.2 粘贴SQL(Paste SQL) 132
10.4.3 粘贴语句(Paste Statenem) 132
10.4.1 粘贴函数(Paste Function) 132
10.5 导出和导入文本 133
10.5.1 导出文本 133
10.5.2 导入文本 134
10.6 定制PowerScript Painter 135
10.6.1 General标签页 135
10.6.2 Font标签页 135
10.6.3 Coloring标签页 136
10.6.4 Dropdown标签页 137
11.1.1 赋值语句 138
第十一章 PowerScript语言 138
11.1 PowerScript Statement 138
11.1.2 CALL 139
11.1.3 Choose Case 139
11.1.4 Continue 140
11.1.5 Create 140
11.1.6 Destroy 141
11.1.7 Do.....Loop 142
11.1.8 Exit 142
11.1.9 For.....Next 143
11.1.10 Goto 144
11.1.11 Halt 144
11.1.12 If.....Then 144
11.1.13 Return 145
11.2 表达式中的操作符 145
11.2.1 算术操作符 145
11.2.2 关系运算符 146
11.2.3 连接运算符 146
11.3.2 Boolean(布尔值) 147
11.3.1 Blob 147
11.3.3 Char 或Character(字符) 147
11.2.4 操作符的优先级 147
11.3 标准数据类型 147
11.3.4 Date(日期) 148
11.3.5 DateTime(数据时间) 148
11.3.6 Desimal或Dec(有符号十进制数) 148
11.3.7 Double(有符号浮点数) 148
11.3.8 Integer或Int(有符号整数) 148
11.3.9 Long(长整数) 148
11.3.10 Real(实数) 148
13.3.14 Unsighed Long或Ulong或UInt 149
11.4 PowerScript变量和常量 149
11.3.11 String(字符串) 149
11.3.13 Unsighed Integer,Unsighed Int或UInt 149
11.3.12 Time(时间) 149
11.5 调用函数和事件的简单语法 150
11.6 标识符命名 150
11.7 脚本中的代词 152
11.7.1 Parent 152
11.7.2 This 152
11.7.3 Super 152
11.8 PowerScript中的注释 153
11.7.4 ParentWindow 153
第十二章 用Data Window Painter创建数据窗口 154
12.1 通列学习五:建立数据窗口 154
12.2 数据窗口 178
12.3 定义数据源 179
12.3.1 Quick Select 179
12.3.2 SQL Select 181
12.3.3 Query 184
12.3.4 External 184
12.3.5 Stored Procedure 185
12.4.1 Composite 186
12.4 选择表现风格 186
12.4.2 Crosstab 187
12.4.3 Freeform 187
12.4.4 Graph 188
12.4.5 Grid 190
12.4.6 Group 191
12.4.7 Label 191
12.4.8 N-up 191
12.4.9 Tabular 191
12.4.10 OLE2.0和Rich Text 191
12.5 数据窗口的显示格式(Display???) 191
13.1 通例学习六:定义用户函数和用户对象 194
第十三章 结构、函数和用户对象 194
13.2 通例学习七:完善你的应用 197
13.3 结 构 215
13.1.1 什么是结构? 215
13.1.2 定义结构 215
13.1.3 引用结构 216
13.2 用户自定义函数 217
13.2.1 什么是用户自定义函数 217
13.2.2 定义函数 217
13.3 用户对象 218
13.2.3 定义函数的引用级 218
13.3.1 用户对象的分类 219
13.3.2 创建用户对象 219
第三部分 高级应用 225
第十四章 检测和调试工具与技术 225
14.1 错误类型 225
14.1.1 语法错误 225
14.1.2 运行错误 225
14.1.3 逻辑错误 226
14.2 调试程序的一般过程 226
14.3 调试工具及其功能 227
14.4 选择Script和设置停止点 228
14.5 创建一个Watch List 229
14.6 改变变量的值 230
14.7 脚本停止点的编辑 231
第十五章 MDI窗口的使用 232
15.1 MDI简介 232
15.1.1 什么是MDI 232
15.1.2 MDI 框架窗口 232
15.3.1 菜单的使用 233
15.3 MDI的使用 233
15.2 创建MDI窗口 233
15.3.2 工具条的使用 235
15.3.3 MDI窗口上的状态行和??助 238
第十六章 数据库间数据的相互转换 240
16.1 利用PowerBuilder函数编程实现数据灌入 240
16.2 利用数据管道进行数据转换 243
16.2.1 建立数据管道进行数据?? 243
16.2.2 在程序中调用数据管道 245
第十七章 数据库中数据的相互转换 249
17.1 数据窗口多行选中 249
17.2.1 创建动态数据窗口 252
17.2 动态数据窗口 252
17.2.2 动态地产生数据窗口 255
17.3 统计图 261
17.3.1 改变统计图类型 262
17.3.2 使饼图中的某组数据突出显示 263
17.3.3 改变直方图的横会标 264
17.4 字段校验 266
17.4.1 校验原理 266
17.4.2 Itemerror事件和Itemchange事件 266
17.4.3 列校验举例 267
17.5 生成HTML 269
第十八章 报表的处理 271
18.1 PowerBuilder与ComponentPack相连完成报表 271
18.1.1 PowerBuilder如何与ComponentPack结合 272
18.1.2 用三个用户对象制作报表的方法 274
18.1.3 在PowerScript中编写操纵报表的程序 275
18.1.4 报表中常见的两个问题 275
18.2 利用数据窗口制作报表 276
18.2.1 创建Crosstab数据窗口 277
18.2.2 将交叉表同数据联系起来 277
18.3 PowerBuilder 与Excel相连完成报表 281
18.2.4 使用交叉表 281
18.3.1 Excel报表数据的来源 282
18.3.2 PowerBuilder与Excel配合制作应用报表 283
第十九章 为应用程序建立安装盘 286
19.1 安装盘制作工具(Install Diskette Builder)简介 286
19.2 用安装盘制作工具制作PB应用的安装盘的方法 286
第二十章 基于Web.pb的Web实现 298
20.1 WEB背景知识 298
20.2 Web.pb应用的体系结构及工作原理 298
20.2.1 Web.pb应用的体系结构 298
20.2.2 Web.pb的工作原理 299
20.3 Web.pb的安装及其配置 300
20.4 Web.pb服务器应用程序的设计 302
20.4.1 TRANSPORT对象的建立 302
20.4.2 远程用户定义对象及其方法的构造 302
20.5 Web.pb应用中的 Web页面设计 303
附录A PowerBuilder命名规则 305
A.1 对象 305
A.2 控件 305
A.3 变量 306
附录B PowerBuilder函数参考 308
附录C C/S下的常用名词解释 360