第一章 Delphi开发数据库应用程序概述 1
1.1 使用数据库 1
1.1.1 数据访问部件(Data Access) 1
1.1.2 Delphi支持的数据库种类 3
1.2 数据库结构 4
1.3 设计用户接口 4
1.4 Delphi4.0 在数据库方面的新技术 5
1.4.1 Web上的Client/Server技术 6
1.4.2 数据分析 7
1.4.3 组件制造中心 7
1.4.4 提高程序设计人员的生产力 7
1.5 运用Delphi 4.0开发数据库应用程序的步骤 8
1.5.1 Database Form Wizard 8
1.5.2 开发数据库应用程序的基本步骤 8
1.5.3 形成完整的数据库系统 9
第二章 数据访问部件(Data Access) 11
2.1 数据访问部件简介 11
2.2 数据集部件(DataSet) 13
2.2.1 数据集部件Table 13
2.2.2 数据集的属性 19
2.2.3 数据集的重要事件 26
2.3 DataSource部件 26
2.3.1 DataSource部件的属性 26
2.3.2 DataSource部件的事件 27
2.4 NestedTable部件 28
2.5 Database部件 29
2.5.1 Database部件的重要属性 29
2.5.2 DataSource 部件重要的方法、事件 31
2.6 Session部件 32
2.6.1 Session部件的重要属性 32
2.6.2 Session部件的方法 33
2.6.3 Session部件应用举例 33
2.7 BatchMove部件 38
2.7.1 BatchMove部件的重要属性 38
2.7.2 BatchMove部件的执行方法 40
2.8 UpdateSQL部件 40
第三章 数据控制部件(Data Control) 41
3.1 数据控制部件简介 41
3.1.1 各个数据控制部件使用范围 41
3.1.2 数据控制部件的共同属性 42
3.2 DBGrid部件 44
3.2.1 DBGrid部件的重要属性 44
3.2.2 DBGrid部件的重要事件 45
3.2.3 一个用DBGrid部件显示数据库记录的例子 45
3.3 DBNavigator部件 47
3.3.1 使用DBNavigator部件为数据库记录定位 48
3.3.2 根据需要改变DBNavigator部件 49
3.3.3 DBNavigator部件的重要属性 49
3.4 DBText部件 50
3.4.1 DBText部件的重要属性 50
3.4.2 DBText部件的方法和事件 50
3.4.3 一个使用DBText部件的例子 50
3.5 DBEdit部件 51
3.5.1 DBEdit部件的重要属性 51
3.5.2 DBEdit部件的重要方法和事件 51
3.5.3 一个使用DBEdit部件的例子 51
3.6 DBMemo部件 53
3.6.1 DBMemo部件的重要属性 53
3.6.2 一个使用DBMemo部件的例子 54
3.7 DBImage部件 55
3.8 DBListBox部件 55
3.8.1 DBListBox部件的重要属性 56
3.8.2 一个使用DBListBox部件的例子 56
3.9 DBComboBox部件 57
3.9.1 DBcomboBox部件的重要属性 57
3.9.2 一个使用DBcomboBox部件的例子 58
3.10 DBLookupListBox部件 58
3.11 DBLookupCombobBox部件 59
3.12 DBCheckBox部件 59
3.13 DBRadioGroup部件 59
3.14 DBRichEdit部件 59
3.15 DBCtrlGrid部件 59
3.16DBChart部件 60
第四章 数据记录的基本操作 61
4.1 一个简单的例子 61
4.1.1 选择合适的部件 61
4.1.2 设置部件的属性 62
4.1.3 运行程序 63
4.1.4 创建数据库应用程序的基本步骤 63
4.1.5 修改成具有更复杂功能的程序 64
4.2 数据库中有关记录的操作 67
4.2.1 查询数据库中的记录 67
4.2.2 修改数据库中的记录 72
4.2.3 插入和删除记录 78
4.2.4 输入数据的合法性验证 83
4.3 字段对象的使用 86
4.3.1 字段对象的类型 86
4.3.2 创建永久的字段对象 87
4.3.3 字段对象的属性及其设置方法 88
4.3.4 字段对象的事件 90
4.3.5 字段对象的类型转换 91
4.3.6 对字段对象访问 91
4.3.7 自定义字段对象 96
4.3.8 字段编辑器的使用 99
第五章 Decision Cube部件 104
5.1 Decision Cube部件组简介 104
5.1.1 Decision Cube部件 104
5.1.2 Decision Query部件 107
5.1.3 Decision Grid部件 109
5.1.4 Decision Graph部件 116
5.1.5 Decision Pivot部件 120
5.1.6 Decision Source部件 122
5.2 一个综合使用Decision Cube部件的例子 123
5.2.1 建立数据库表 123
5.2.2 为程序添加部件,并设置属性 126
5.2.3 为程序增加代码 130
5.2.4 执行程序 131
第六章 QReport部件 135
6.1 快速生成报表的两种方法 135
6.1.1 Quick Report Wizard 135
6.1.2 Report Templates 139
6.2 QReport部件简介 153
6.2.1 TQuickRep部件 154
6.2.2 TQRSubDetail部件 157
6.2.3 TQRBand部件 158
6.2.4 TQRChildBand部件 160
6.2.5 TQRGroup部件 160
6.2.6 TQRLabel部件 160
6.2.7 TQRDBText部件 161
6.2.8 TQRExpr部件 161
6.2.9 TQRSysData部件 163
6.2.10 TQRMemo部件 164
6.2.11 TQRRichText部件 164
6.2.12 TQRDBRichText部件 164
6.2.13 TQRShape部件 164
6.2.14 TQRImage部件 164
6.2.15 TQRDBimage部件 165
6.2.16 TQRCompositeReport部件 165
6.2.17 TQRPreview部件 165
6.2.18 TQRChart部件 166
6.3 自己动手制作一个报表 166
6.3.1 设计报表的功能 166
6.3.2 窗体设计 166
6.3.3 为程序增加代码 170
6.3.4 执行程序 171
第七章 Delphi的数据库工具 173
7.1 数据库资源管理器(Database Explorer) 173
7.1.1 浏览面板 174
7.1.2 信息面板 177
7.2 数据字典(Data Dictionary) 179
7.2.1 数据库 179
7.2.2 属性集 180
7.3 SQL监视器(SQL Monitor) 181
7.3.1 使用SQL监视器 182
7.3.2 跟踪选项 182
7.3.3 带参数的查询 183
7.3.4 调试应用程序 183
7.4 Data Pump工具 184
第八章 DELPHI中的SQL编程 187
8.1 结构化查询语言SQL 187
8.1.1 SQL语言的发展历史 187
8.1.2 SQL语言的功能特点 188
8.2 DELPHI中SQL的基本应用 188
8.2.1 Query部件 189
8.2.2 Query部件的简单使用 191
8.2.3 使用SQL Builder编写SQL语句 193
8.2.4 通过Query部件修改数据 194
8.3 SQL语句中使用参数 196
8.3.1 使用Params属性为参数赋值 197
8.3.2 使用ParamByName方法为参数赋值 197
8.3.3 使用Datasource属性为参数赋值 198
8.3.4 Prepare方法的使用 200
8.4 在运行期间使用SQL语句 200
8.4.1 运行期间编写SQL语句 200
8.4.2 SQL程序的执行 202
8.5 SQL编程实例 202
8.5.1 例程:设计一个功能强大的数据库查询工具 202
第九章 建立一个完整的数据库应用程序 213
9.1 数据库应用程序的功能要求 213
9.2 程序结构设计 214
9.3 程序的窗体设计 216
9.3.1 用户登录窗体 216
9.3.2 密码设置窗体 217
9.3.3 数据模块窗体 217
9.3.4 新增雇员窗体 218
9.3.5 新增部门窗体 219
9.3.6 数据查询窗体 219
9.3.7 报表类型选择窗体 221
9.3.8 列表类型报表窗体 222
9.3.9 主表/明细表类型报表窗体 223
9.3.10 数据统计窗体 224
9.4 程序的代码编写 226
9.4.1 用户登录 226
9.4.2 设置密码 228
9.4.3 新增雇员 229
9.4.4 新增部门 233
9.4.5 数据查询 234
9.5 执行程序 238
第十章 Delphi客户/服务器应用程序开发 243
10.1 Delphi客户/服务器结构原理 243
10.1.1 为什么采用客户/服务器模式 243
10.1.2 客户/服务器体系结构的基本原理 247
10.1.3 Delphi的客户/服务器解决方案 248
10.2 Delphi客户/服务器应用环境的配置 250
10.2.1 客户端配置数据库引擎BDE 250
10.2.2 为系统选择一个合适的数据库服务器 254
10.3 Delphi的Client/Server数据库应用开发技术 258
10.3.1 如何连接数据库服务器 258
10.3.2 如何运行服务器上的存储过程 263
10.3.3 如何进行数据库应用中的事务控制 267
10.4 Delphi客户/服务器应用实例分析 270
10.4.1 数据库环境 270
10.4.2 数据库应用程序分析 273
第十一章 用Delphi创建多层数据库程序 285
11.1 多层数据库技术概述 285
11.1.1 单/双层数据库程序 285
11.1.2 多层数据库应用程序简介 286
11.1.3 采用多层数据库结构的优点 286
11.2 MIDAS技术 287
11.2.1 基于MIDAS技术的多层数据库应用程序 287
11.2.2 客户端程序的结构 289
11.2.3 应用程序服务器的结构 291
11.2.4 选择合适的通信协议 291
11.3 创建一个多层数据库应用程序的基本过程 292
11.3.1 创建应用程序服务器 292
11.3.2 注册、安装应用程序服务器 296
11.3.3 创建客户端程序 298
第十二章 Web数据库编程 300
12.1 Web数据库编程中的基本概念 300
12.1.1 Web数据库的基本结构 300
12.1.2 HTML在Web数据库编程中的作用 302
12.1.3 Web服务器程序 303
12.2 使用Delphi编写ISAPIDLL 305
12.2.1 返回静态页面 305
12.2.2 返回动态页面 310
12.2.3 接收用户输入的ISAPIDLL 311
12.2.4 一个完整的Web数据库应用程序 319
12.3 编写Win-CGI和标准CGI的服务器程序 326
12.3.1 编写Win-CGI和标准CGI的服务器程序 326
12.3.2 调试Win-CGI和标准CGI服务器程序 326
12.3.3 Win-CGI、标准CGI和ISAPI DLL之间的相互转化 326
附录A Database Desktop介绍 330
A.1 Database Desktop窗口 330
A.2 设置工作目录 330
A.3 设置私有目录 331
A.4 创建桌面型数据表 331
A.5 桌面型数据表的属性设置 332
A.5.1 Validity Check属性 332
A.5.2 Table Lookup 属性 333
A.5.3 Secondary Indexes属性 334
A.5.4 Referential Integrity属性 334
A.5.5 Password Security属性 335
A.5.6 Table Language属性 336
A.6 创建SQL类型数据表 336
A.7 在Database Desktop中执行SQL语句 338
A.8 使用QBE查询数据 339
附录B Local SQL 343
B.1 命名规则(Naming Conventions) 343
B.1.1 数据表的命名规则 343
B.1.2 列的命名规则 344
B.1.3 日期的命名规则 344
B.2 数据处理(Data Manipulation) 344
B.2.1 SELECT语句 345
B.2.2 INSERT语句 347
B.2.3 UPDATE语句 347
B.2.4 DELETE语句 347
B.2.5 数据处理语言中的参数 347
B.2.6 集合函数(Aggregate functions) 348
B.2.7 字符串函数(String functions) 348
B.2.8 日期函数(Date functions) 348
B.2.9 运算符(Operators) 349
B.2.10 数据库处理语言举例 349
B.3 数据定义(Data definition) 350
B.3.1 CREATE TABLE语句 350
B.3.2 ALTER TABLE语句 351
B.3.3 DROP TABLE语句 352
B.3.4 CREATE INDEX语句 352
B.3.5 DROP INDEX语句 352
B.3.6 CREATE VIEW语句 353
B.3.7 数据库定义语言举例 353
附录C InterBase介绍 354
C.1 Local InterBase 354
C.2 InterBase Server 354
C.3 InterBase的特性简介 355
C.4 InterBase的约束 357
C.5 语法规则 358
C.6 数据库对象命名规则 358
C.7 文件命名规则 359
C.8 文件说明 359
C.8.1 主文件说明 359
C.8.2 次级文件说明 360