Delphi 教程 系列书籍 (037) 《Delphi7高效数据库程序设计》 网友(邦)整理 EMail: [email protected]
下载地址:
内容简介
dbExpress是Borland公司下一代数据访问技术。本书不仅详细介绍了dbExpress的基本功能、使用技巧以及Delphi/Kylix的DataSnap技术,还详细讨论了dbExpress的实现原理以及dbExpress的未来发展趋势。本书结构清晰,讲解透彻,实例丰富。作者李维是Borland公司著名技术专家,曾著有多部Delphi名著。通过阅读本书,读者可以充分利用dbExpress的强大功能,开发出高效率的Delphi/Kylix系统。本书适合Delphi/Kylix/C++Builder程序员、数据库程序设计师以及对Delphi/Kylix感兴趣的人员阅读。
前言
自从Delphi推出以来,Delphi全方位的功能便让许多程序员津津乐道。而Delphi在数据库方面提供的强大又富有弹性的能力更是让许多数据库程序设计师惊喜不已。Delphi的BDE/IDAPI不但提供了合理的性能,并且能够连接各种不同的数据库,从基于文件的Paradox/dBase数据库到真正的关系型数据库(如InterBase、Oracle、Informix、DB2和MS SQL Server等),都能够让Delphi程序员使用相同的技术来访问各种不同的数据源,实在是非常方便。但是随着软件技术的进步以及用户需求的变化,数据访问的方法也随之出现巨大的改变。从以往提供持续连接的主从结构应用系统转换成现在的批处理,而且客户端和数据库之间可能处于没有连接的状态。例如,现在的数据访问技术必须同时能够满足企业内部的主从结构式应用系统,以及能够提供Web访问的分布式应用系统。虽然BDE/IDAPI技术也可以同时在这两种应用中使用,但是BDE/IDAPI毕竟是按照基于文件和主从结构概念设计的,对于基于Web和分布式结构的应用则无法提供比较有效率和经济的使用方式。 Borland希望满足用户的新需求并向使用Borland开发工具的用户提供跨平台的能力,而且Borland推出了在Linux上执行的开发工具——Kylix,因此Borland必须认真地考虑开发下一代的数据访问技术,因为BDE/IDAPI明显已经无法满足新的应用而且无法提供跨平台的功能。于是,dbExpress应运而生。 dbExpress是Borland下一代的数据访问技术。dbExpress的设计目标是提供高效率数据访问以及提供跨平台能力的数据访问引擎。自从Borland在Delphi 6中推出了dbExpress 1.0之后,dbExpress发展得相当迅速。目前,dbExpress已经能够访问许多关系型数据库,包括了Oracle、InterBase、Informix、DB2、MS SQL Server、My SQL、Postgre SQL等,而且在未来,Borland将持续开发Sybase等数据库的dbExpress驱动程序。此外,目前dbExpress已经能够在Windows和Linux平台上执行,未来也将移植到Microsoft的.NETJ2。 Delphi 7中的dbExpress已经是2.0版了。dbExpress 2.0不但提供了更多的dbExpress驱动程序,修改了许多的bug,还提供了更高的性能。由于dbExpress现在的表现已经超越BDE/IDAPI,而且Borland也已经宣布不再更新BDE/IDAPI,只是提供基本的维护。因此Delphi/Kylix/C++Builder程序员也必须使用dbExpress来开发新的数据库应用程序。遗憾的是,虽然dbExpress提供了良好的功能和效率,但是目前市面上几乎没有什么书籍专门讨论dbExpress技术,能够帮助程序员善加利用dbExpress的功能开发高效率的数据库应用系统。就是由于这个原因而促使笔者撰写这本书,希望本书帮助读者完全掌握dbExpress技术。本书除了讨论如何使用dbExpress以及Delphi/Kylix的DataSnap技术之外,还详细且深入地讨论了dbExpress的高级技术,包括如何调整dbExpress的性能,dbExpress的实现原理以及dbExpress未来的发展,以便让读者能够充分地利用dbExpress引擎的强大功能,开发出高效率的Delphi/Kylix数据库应用系统。笔者从Delphi 6.0/Kylix 1.0开始撰写本书,虽然Delphi 7的dbExpress和Da(aSnap有少许的改善,不过本书的内容仍然适用于Delphi 6/Kylix 2.0以及Delphi 7/Kylix 3.0,此外笔者也在书中说明了Delphi 6和Delphi 7的不同之处。 笔者要感谢所有帮助本书出版的朋友,更要感谢读者的支持。最后希望本书的内容真的能够帮助读者快速进入dbExpfess的世界,并且在阅读完毕之后成为精通Delphi/Kylix数据库应用系统设计的高手,谢谢。
目录
第一部分 dbexpress基本功能篇
第1章 dbexpress组件、概念、技术和应用程序 3
1.1 dbexpress组件 3
1.2 建立第一个dbexpress数据库应用程序 4
1.3 使用dbexpress的概念 13
1.4 使用dbexpress修改数据 16
1.4.1 使用tsqldataset搭配tdataset- provider和tclientdataset组件 17
1.4.2 使用tsimpledataset组件 21
1.5 dbexpress驱动程序的设置 25
1.6 结论 28
第2章 使用dbexpress组件 29
2.1 使用tsimpledataset组件 29
2.1.1 使用动态sql语句处理数据 32
2.1.2 data和delta特性 42
2.1.3 修改数据—多个数据表 45
2.1.4 控制数据访问记录数—packet- records特性 50
2.2 datasnap技术 54
2.3 使用tsqldataset和tsqlquery组件 59
2.3.1 使用tsqldataset组件 59
2.3.2 使用tsqlquery组件 63
2.3.3 执行sql脚本 65
2.4 使用tsqlstoredproc组件 69
2.5 使用tsqlmonitor组件 74
2.6 结论 78
第3章 更多的dbexpress技巧 81
3.1 数据排序 81
3.1.1 dbexpress/datasnap默认排序 82
3.1.2 使用tsqldataset的排序特性 83
3.1.3 在tsimpledataset中进行动态排序 86
3.1.4 排序时考虑的因素 93
3.2 内存数据表 98
3.3 使用计算字段 105
3.4 使用aggregate字段 109
3.5 updatestatus 111
3.6 savepoint 113
3.7 mybase 115
3.8 tfield对象的settext和gettext事件处
理函数 118
3.9 结论 124
第二部分 dbexpress进阶功能篇
第4章 搜寻数据 127
4.1 搜寻数据集数据 127
4.1.1 locate 128
4.1.2 lookup 137
4.1.3 过滤器 139
4.1.4 range 147
4.2 搜寻方法的比较 148
4.3 如何快速地在数据集中搜寻数据 152
4.3.1 分析delphi/kylix搜寻结果数据集方法的行为 153
4.3.2 数据表包含少量的数据 154
4.3.3 数据表包含大量的数据 154
4.3.4 快速搜寻数据 155
4.4 结论 168
第5章 dbexpress的高级技术 171
5.1 事务管理 171
5.2 数据库的transisolation 175
5.3 错误处理 177
5.4 在com+中使用dbexpress 188
5.5 结论 202
第6章 使用dbexpress处理复杂的数据类型 203
6.1 tdatasetprovider组件 203
6.1.1 tdatasetprovider的重要事件处理
函数 204
6.1.2 tdatasetprovider的重要特性 208
6.1.3 tdatasetprovider的范例 212
6.2 主从类型的应用 215
6.2.1 使用组件和dbexpress实现主从功能 215
6.2.2 使用程序代码实现主从功能 219
6.3 处理多数据表数据 221
6.4 结论 232
第7章 dbexpress和web应用程序 233
7.1 delphi的webbroker技术 233
7.2 使用dbexpress开发web应用程序 234
7.3 dbexpress和intraweb 262
7.4 结论 271
第三部分 dbexpress高级技术篇
第8章 处理二进制大型数据 275
8.1 处理图形数据 275
8.2 处理jpeg类型的图形数据 279
8.3 如何有效率地处理二进制大型数据 281
8.4 ole container类型的数据 290
8.5 结论 298
第四部分 深入的dbexpress实战技术
第9章 dbexpress和元数据 303
9.1 dbexpress和元数据 303
9.2 使用dbexpress处理元数据 304
9.3 观察dbexpress如何使用元数据 321
9.4 结论 331
第五部分 性 能 篇
第10章 开发高效率的数据库应用系统 335
10.1 从测试dbexpress、bde/idapi和dbexpress开始 335
10.1.1 观察dbexpress的执行行为之一 338
10.1.2 观察dbexpress的执行行为之二 340
10.2 dbexpress和bde/idapi的性能比较 345
10.2.1 连接数据库的速度 345
10.2.2 访问大量数据的速度 346
10.2.3 添加大量数据 347
10.3 调整dbexpress访问数据的方式 348
10.3.1 调整packetrecords特性值 348
10.3.2 改变dbexpress处理数据的行为 349
10.4 快速查询数据 354
10.5 delphi 7之后的tsimpledataset 361
10.6 结论 361
第11章 动动脑,快乐一下 363
11.1 从一个看似简单的场景开始 363
11.2 开始动动脑吧 374
11.3 第二个问题 374
11.4 结论 376
第12章 数据访问技术 379
12.1 dbexpress的发展 379
12.2 bde的状况 380
12.3 ado 380
12.4 可选用的数据库 380
12.5 几个数据库及数据访问技术 384
12.6 数据库和组件模型 384
12.7 结论 385
第13章 dbexpress的实现和未来的发展 387
13.1 dbexpress的实现技术 387
13.2 模拟dbexpress的工作流程 399
13.3 有关dbexpress实现的异同 409
13.4 dbexpress未来的实现开发 410
13.5 结论 411