第1部分 dbExpress基本篇 1
第1章 dbExpress控件,概念,技术和应用程序 3
1.1 dbExpress控件 4
1.2 建立第一个dbExpress数据库应用程序 5
1.3 使用dbExpress的概念 16
1.4 使用dbExpress变更数据 21
1.4.1 使用TSQLDataSet搭配TDataSetProvider和TClientDataSet控件 21
1.4.2 使用TSimpleDataSet控件 27
1.5 dbExpress驱动程序的设定 31
1.6 结论 34
第2章 使用dbExpress控件 35
2.1 使用TSimpleDataSet控件 35
2.1.1 DataSet\CommandType 36
2.1.2 Active属性 36
2.1.3 PacketRecords属性 37
2.1.4 Data属性 38
2.1.6 使用动态SQL语句处理数据 39
2.1.5 Delta属性 39
2.1.7 Data和Delta属性 49
2.1.8 变更数据——多个数据表 54
2.1.9 控制数据存取笔数——PacketRecords属性 57
2.2 DataSnap技术 62
2.3 使用TSQLDataSet和TSQLQuery控件 67
2.3.1 使用TSQLDataSet控件 68
2.3.2 使用TSQLQuery控件 72
2.3.3 执行SQL Script 74
2.4 使用TSQLStoredProc控件 79
2.4.1 使用TSQLStoredProc调用MS SQL Server的存储过程 84
2.5 使用TSQLMonitor控件 88
2.6 结论 93
第3章 dbExpress更多的技巧 95
3.1 排序数据 95
3.1.1 dbExpress/DataSnap内定排序 97
3.1.2 使用TSQLDataSet的序特性 98
3.1.3 在TSimpleDataSet中动态排序 101
3.1.4 排序时应用的考虑 108
3.2 内存数据表(Memory Table) 112
3.3 使用计算字段(Calculated Field) 119
3.4 Aggregation 123
3.5 UpdateStatus 126
3.6 SavePoint 128
3.7 MyBase 130
3.8 TField对象的SetText和GetText事件处理函数 133
3.9 结论 140
第2部分 深入篇 141
第4章 查寻数据 143
4.1 查寻数据集数据 144
4.1.1 Locate 145
4.1.2 Lookup 153
4.1.3 Filter(过滤器) 158
4.1.4 查寻范围——Range 164
4.2 查寻方法的比较 166
4.2.1 执行效率比较 167
4.3 如何有效地在数据集中查寻数据 170
4.3.1 分析Delphi查寻结果数据集方法的行为 171
4.3.3 数据表包含大量的数据 172
4.3.2 数据表包含少量的数据 172
4.3.4 有效地查寻数据 173
4.4 结论 188
第5章 dbExpress的高级技术 189
5.1 事务管理(Transaction Management) 189
5.2 数据库的TransIsolation 193
5.3 错误处理 196
5.4 MyBase 209
5.4.1 范例MyBase应用程序 211
5.4.2 范例MyBase应用程序主程序代码 212
5.4.3 范例MyBase应用程序数据模块 213
5.4.4 范例MyBase应用程序执行状态 215
5.5 在COM+中使用dbExpress 219
5.6 结论 233
第6章 使用dbExpress处理复杂的数据类型 235
6.1 TDataSetProvider控件 235
6.1.1 TDataSetProvider的重要事件处理函数 237
6.1.2 TDataSetProvider的重要特性 242
6.1.3 TDataSetProvider的范例展示 245
6.2 Master/Detail类型的应用 248
6.2.1 使用控件和dbExpress实现Master/Detail功能 249
6.2.2 使用程序代码实现Master/Detail功能 253
6.3 处理多数据表数据 255
6.4 结论 266
第7章 使用dbExpress开发Web应用程序 267
7.1 Delphi的WebBroker技术 268
7.2 使用dbExpress开发Web应用程序 269
7.3.1 IntraWeb框架 296
7.3 结合dbExpress和IntraWeb 296
7.3.2 使用IntraWeb和dbExpress开发Web应用程序 297
7.3.3 转换IntraWeb应用程序为ISAPI应用程序 307
7.4 结论 310
第8章 处理二进制大型数据(BLOB) 313
8.1 处理图形数据 314
8.2 处理JPEG类型的图形数据 319
8.3 如何有效地处理二进制大型数据 321
8.4 OLE Container类型的数据 333
8.5 结论 343
第9章 dbExpress和Metadata 345
9.1 dbExpress和Metadata 345
9.1.1 为什么了解Metadata很重要 347
9.1.2 正确使用Metadata可以增加应用程序运行效率 348
9.1.3 dbExpress中和MetaData相关的地方 348
9.1.4 dbExpress的Metadata接口 350
9.2 使用dbExpress处理Metadata 352
9.3 观察dbExpress如何使用Metadata 369
9.4 Metadata辅助类(Helper Class) 381
9.4.1 使用辅助类的范例应用程序 382
第3部分 效率篇 383
9.5 结论 387
第10章 开发高效率的数据库应用系统 391
10.1 从测试IBX,BDE/IDAPI和dbExpress开始 392
10.1.1 观察dbExpress的执行行为 395
10.2 dbExpress和BDE/IDAPI的执行效率比较 401
10.2.1 连接数据库的速度 402
10.2.2 存取大量数据的速度 403
10.2.3 新增大量数据 404
10.2.4 dbExpress 3.0和BDE的执行效率 405
10.3 调整dbExpress存取数据的方式 408
10.3.1 调整PacketRecords特性值 408
10.3.2 改变dbExpress处理数据的行为 409
10.3.3 观察dbExpress的执行行为 410
10.4 有效地查询数据 414
10.5 Delphi 7之后的TSimpleDataSet 422
10.6 结论 422
11.1 从一个看似简单的场景开始 425
第11章 动动脑,快乐一下 425
11.2 开始动动脑吧 426
11.3 第二个问题 437
11.4 结论 440
第12章 数据存取技术 441
12.1 dbExpress的发展 441
12.2 BDE的状况 442
12.3 ADO 442
12.4 使用什么呢 443
12.4.1 相关的URL 444
12.5 单机,小型主从架构 447
12.6 数据库和组件模型 448
12.7 OR-Mapping数据存取框架/技术 449
12.8 Have Fun,Good Luck 450
第4部分 实现篇 451
第13章 dbExpress的实现和未来的发展 453
13.1 dbExpress的实现技术 453
13.2 仿真dbExpress的工作流程 467
13.3 有关dbExpress实现的异同 476
13.4 dbExpress未来的实现发展 477
13.5 结论 478
第14章 dbExpress和.NET 479
14.1 在.NET平台使用dbExpress 479
14.1.1 移植Win32的dbExpress应用程序到.NET 479
14.1.2 直接开发dbExpress.NET应用程序 481
14.1.3 部署dbExpress.NET应用程序需要注意的事情 484
14.2 dbExpress如何移植到.NET平台 485
14.3 结论 489