第1章 Delphi5简介 1
1.1 Delphi的产生和发展 1
1.1.1从Delphi 1发展到Delphi 3 1
1.1.2 Delphi 4 3
1.2 Delphi 5的新特性 7
1.2.1 Internet上的扩展 7
1.2.2快速、直接的数据库访问 7
1.2.3提高团队效率 8
1.2.4高效的集成开发与集成调试环境 8
1.2.5 Delphi 5在数据库方面的新特性 10
1.3升级到Delphi 5应注意的问题 11
1.4选择Delphi 5作为数据库应用开发工具 12
第2章 数据库应用设计 16
2.1数据库应用开发策略 16
2.1.1开发数据库 16
2.1.2数据建模 17
2.1.3模型到数据库设计的转换 17
2.1.4应用开发的一般过程 17
2.2数据库应用程序的体系结构 18
2.2.1如何设计体系结构 18
2.2.2 BDE的结构 19
2.3用户界面设计 19
2.3.1窗体的设计 19
2.3.2分析数据 20
2.3.3选择要显示的数据 21
2.4客户/服务器体系结构 21
2.4.1对客户/服务器结构数据库系统的需求 22
2.4.2客户/服务器结构的DBMS的功能划分 23
2.4.3客户/服务器结构的数据库系统实现技术 25
2.4.4客户/服务器结构数据库系统的优点 27
2.5数据库设计中的问题 29
2.5.1数据库安全 29
2.5.2事务 30
2.5.3数据字典 30
2.5.4参照完整性、存储过程和触发器 30
第3章 数据库工具 31
3.1 BDE 31
3.1.1 BDE的特点 31
3.1.2使用BDE 32
3.2 Database Explorer 35
3.2.1 Database Explorer环境 35
3.2.2使用Database Explorer维护数据库别名 38
3.3 Data Pump 38
第4章 单层和两层数据库的应用设计 43
4.1单层的数据库应用程序 43
4.2基于文件的单层数据库应用程序 45
4.2.1构建数据集 46
4.2.2数据的装入和保存 48
4.2.3公文包模式 48
4.3两层的数据库应用程序 49
4.4 Delphi访问数据库的方式 50
第5章 数据感知(data-aware)组件应用 52
5.1显示和编辑数据的一般步骤 52
5.2动态字段和永久字段 53
5.2.1动态字段对象 53
5.2.2永久字段对象 53
5.3数据感知组件简介 55
5.3.1 Delphi 5中的数据感知组件 55
5.3.2使用TDBGrid 57
5.3.3使用TDBNavigator 60
5.3.4使用TDBText 61
5.3.5使用TDBEdit 61
5.3.6使用TDBMemo 61
5.3.7使用TDBImage 62
5.3.8使用TDBListBox 62
5.3.9使用TDBComboBox 63
5.3.10使用TDBCheckBox 63
5.3.11使用TDBRadioGroup 64
5.3.12使用TDBLookupListBox 64
5.3.13使用TDBLookupComboBox 66
5.3.14使用TDBRichEdit 68
5.3.15使用TDBCtrlGrid 69
5.4运用Database Form Wizard 71
5.5 TDataSource组件 78
5.5.1使用TDataSource组件 78
5.5.2 TDataSource组件的属性 78
5.5.3 TDataSource组件的事件 80
第6章Tdatabase组件及事务 82
6.1 TDatabase组件概述 82
6.1.1 TDatabase的关键属性 82
6.1.2 TDatabase组件的设置 84
6.1.3 TDatabase组件在事务处理方面的几个方法 86
6.2连接到数据库服务器 86
6.3事务 87
6.3.1使用数据库组件来处理事务 87
6.3.2使用Passthrough SQL方式处理事务 88
第7章 数据集TDataSet 90
7.1数据集的状态 90
7.1.1 DsInactive状态 91
7.1.2 DsBrowse状态 91
7.1.3 DsEdit状态 92
7.1.4 DsInsert状态 92
7.1.5 DsSetKey状态 92
7.1.6 DsCalcFields状态 92
7.1.7 DsFilter状态 93
7.1.8 DsCurValue、DsNewValue和DsOldValue 93
7.2数据集的打开和关闭 93
7.3数据集的导航 94
7.3.1 First和Last 95
7.3.2 Prior和Next 95
7.3.3 MoveBy 95
7.4搜索特定记录 96
7.5筛选 99
7.6数据集的修改 101
7.7书签 103
7.8数据集组件的事件 105
第8章 字段对象 106
8.1永久字段对象 106
8.1.1创建永久字段对象 107
8.1.2删除永久字段对象 109
8.2字段组件的类型 110
8.3字段组件的重要属性 111
8.4字段组件的重要方法 112
8.5字段组件的重要事件 113
8.6字段组件的访问 114
第9章 TTable组件及应用 116
9.1 TTable组件常用的属性 116
9.2使用范围选取部分连续记录 118
9.3查找数据表中的记录 120
9.3.1 Goto方式 120
9.3.2 Find方式 121
9.4 EmptyTable、DeleteTable和RenameTable方法 122
9.5 MasterSource属性和MasterFields属性 124
第10章 TQuery组件及其使用 127
10.1 TQuery组件与TTable组件的区别 127
10.2 TQuery组件可以查询的数据库 127
10.3 SQL语言概述 128
10.3.1 SQL的历史 128
10.3.2 SQL的优点 129
10.3.3常用的SQL语句及其用法 129
10.3.4 SQL语言编程 131
10.4使用TQuery组件 131
10.5设置TQuery组件的SQL属性 132
10.5.1字符串列表编辑器 132
10.5.2 SQL Builder工具 134
10.5.3直接编写代码 136
10.6动态SQL语句中参数的赋值 138
10.6.1在设计期利用Params属性为参数赋值 139
10.6.2运行期给参数赋值 140
10.7执行查询 141
10.8异构查询 142
10.9使查询结果集能够编辑 143
第11章 存储过程与TStoredProc组件 144
11.1 TStoredProc的重要属性 144
11.2 TStoredProc的重要方法 145
11.3使用TStoredProc组件 147
11.3.1在应用程序中使用TStoredProc组件 147
11.3.2给存储过程的输入参数赋值,访问输出参数 147
11.3.3执行存储过程 148
11.3.4访问输出参数和结果集 148
第12章 批量移动与TBatchMove组件 149
12.1使用TTable组件的BatchMove函数实现批量移动 149
12.2使用TBatchMove组件 149
12.3映射字段类型 150
12.4执行批量移动操作 151
12.5处理错误 151
12.6应用举例 152
第13章 缓存更新与TUpdateSQL组件 161
13.1应用缓存更新应注意的问题 161
13.2使用缓存更新 161
13.2.1允许和禁止缓存更新 162
13.2.2读取记录 162
13.2.3申请缓存更新 163
13.2.4取消未决更新 165
13.2.5恢复删除的缓存记录 165
13.2.6指定缓存中的可见记录 166
13.2.7检验更新状态 167
13.3 TUpdateSQL组件 168
13.4应用举例 168
第14章 多层客户/服务器应用程序 172
14.1 MIDAS的相关概念 172
14.1.1数据库编程的分类 172
14.2如何创建多层应用程序 173
14.2.1多层体系结构的优势 173
14.2.2 MIDAS技术 174
14.2.3 Provider组件 174
14.2.4 MIDAS应用程序是怎样工作的 175
14.3各层结构和连接关系 175
14.3.1客户程序的结构 175
14.3.2应用服务器的结构 176
14.3.3连接方式 176
14.4创建应用服务器的一般步骤 177
14.5建立一个示例程序 178
14.5.1创建一个工程 178
14.5.2注册应用服务器(Application Server) 180
14.5.3建立客户应用程序(Client Application) 181
14.5.4客户/服务器的运行 182
14.6应用程序服务器的设计 183
14.6.1应用程序服务器的结构 183
14.6.2客户应用程序的结构 184
14.6.3基于MIDAS的多层应用程序的执行过程 185
第15章 报表设计 187
15.1 QuickReport简介 187
15.2 QuickReport组件简介 188
15.2.1 TQuickRep组件 188
15.2.2 TQRSubDetail组件 191
15.2.3 TQRBand组件 192
15.2.4 TQRChildBand组件 194
15.2.5 TQRGroup组件 194
15.2.6 TQRLabel组件 194
15.2.7 TQRDBText组件 194
15.2.8 TQRExpr组件 195
15.2.9 TQRSysData组件 197
15.2.10 TQRMemo组件 198
15.2.11 TQRRichText组件 198
15.2.12 TQRDBRichText组件 198
15.2.13 TQRShape组件 198
15.2.14 TQRImage组件 198
15.2.15 TQRDBEImage组件 198
15.2.16 TQRCompositeReport组件 199
15.2.17 TQRPreview组件 199
15.2.18 TQRChart组件 199
15.3快速生成报表的两种方法 200
15.3.1 QuickReport Wizard快速报表生成向导 200
15.3.2 Report Templates模板 203
第16章 TeeChart图表的设计 217
16.1制作TeeChart图表的一般方法 217
16.2快速设计TeeChart图表的两种方法 217
16.2.1 TeeChart向导 217
16.2.2利用模板开发TeeChart图表 220
16.3创建真正的数据库图表 220
16.3.1图表编辑器 220
16.3.2创建数据库图表的步骤 222
16.4创建决策图表 224
第17章 Decision Cube组件 226
17.1使用决策支持组件的一般步骤 226
17.2 Decision Cube组件组简介 227
17.2.1 Decision Cube组件 227
17.2.2 Decision Query组件 230
17.2.3 Decision Grid组件 232
17.2.4 Decision Graph组件 238
17.2.5 Decision Pivot组件 242
17.2.6 Decision Source组件 244
第18章 使用ADO组件 245
18.1连接ADO数据源 245
18.1.1两种连接方法的对比 245
18.1.2指定连接 246
18.1.3激活和解除连接 246
18.1.4查看连接组件的状态 247
18.1.5有规则地调整连接 247
18.1.6列出可用的表 250
18.1.7列出可用的存储过程 251
18.1.8运用连接组件进行事务处理 251
18.2 ADO数据集组件的共同特征 252
18.2.1连接数据源 252
18.2.2使用批处理更新 253
18.2.3用批处理更新模式打开数据集 253
18.2.4查看单行记录的更新状态 254
18.2.5筛选处于更新状态的多行记录 254
18.2.6把批处理更新写到基表中 255
18.2.7取消批处理更新 255
18.2.8在文件中存取数据 255
18.2.9在命令中使用参数 256
18.3使用ADO数据集组件和ADO命令组件 257
18.3.1使用TADODataSet组件 257
18.3.2使用TADOTable组件 258
18.3.3 使用TADOQuery组件 259
18.3.4 使用TADOStoredProc组件 261
18.3.5 使用TADOCommand组件 262
18.4实例剖析 264
18.5 TRDSConnection组件 268
18.5.1服务器端应用程序分析 269
18.5.2客户端应用程序分析 270
第19章 IBX组件 273
19.1 IBX组件简介 273
19.1.1 TIBDatabase 273
19.1.2 TIBTransaction 274
19.1.3 TIBTable 274
19.1.4 TIBQuery 275
19.1.5 TIBDataSet 275
19.1.6 TIBStoredProc 276
19.1.7 TIBDataSource 276
19.1.8 TIBSQL 276
19.1.9 TIBUpdateSQL 277
第20章 应用实例:考试系统 278
20.1计算机考试系统概述 278
20.1.1考试系统实现功能概述 278
20.1.2与数据库关系密切的模块 279
20.2数据库结构设计 279
20.2.1表tiku 280
20.2.2表km 281
20.2.3表chapt 281
20.2.4表nd 282
20.2.5表tx 282
20.2.6表cxampaper 283
20.2.7表student 284
20.2.8视图tikubrowse_view 284
20.3模块介绍及其源代码 284
20.3.1计算机考试系统主窗口 285
20.3.2数据模块 287
20.3.3添加模块 290
20.3.4修改模块 295
20.3.5浏览模块 298
20.3.6查询模块 300
20.3.7学生注册模块 303
20.3.8选择试题模块 305
20.3.9模拟考试模块 306
20.4运行效果 311
20.4.1主窗口 311
20.4.2添加题 312
20.4.3修改题 312
20.4.4浏览题 312
20.4.5查询题 313
20.4.6学生注册 313
20.4.7试卷选择 314
20.4.8模拟考试 314
20.4.9考试结果 315