具体描述
C++Builder是Inprise公司推出的开发数据库的强有力工具。本书全面深入地介绍了C++Builder的数据库开发技术,内容包括:数据库应用程序的体系结构,数据库工具,数据访问组件,数据控制组件,SQL和TQuery组件,使用 Quick Report创建报表,TeeChart 图表,多层 Client/Server应用程序,MIDAS,决策支持组件以及ADO组件。
本书内容丰富,语言简洁,主要面向中高级 C++Builder程序员,也可以供具有一编程基础的读者学习和参考。
作者简介
目录信息
1.l 数据库基础知识
1.2 C++Builder数据库组件
1.3 一个简单的数据库应用程序实例
第2章 数据库应用程序的体系结构
2.l 基于文件的单层数据库应用程序
2.2 BDE会话期
2.3 基于BDE的单层和两层数据库应用程序
第3章 数据库工具
3.l 数据库桌面系统
3.2 SQL Explorer
3.3 SQL Monitor
第4章 数据访问组件
4.l 使用TTable组件
4.2 TDataSource组件
4.3 TStoredProc组件
4.4 TBatchMove组件
4.5 TField对象
第5章 数据控制组件
5.1 TDBGrid 组件
5.2 TDBCtrlGrid组件
5.3 TDBNavigator组件
5.4 TDBEdit组件
5.5 TDBText组件
5.6 TDBMemo组件
5.7 TDBlmage组件
5.8 TDBListBox组件
5.9 TDBComboBox组件
5.10 TDBCheckBox组件
5.11 TDBRadioGroup组件
5.12 TDBLookupListBox组件
5.13 TDBLookLupComboBox组件
5.14 TDBRichEdit组件
5.15 TDBChart组件
5.16 多表格下的TDBNavigator组件应用买倒
第6章 SQL 和 TQuery 组件
6.1 SQL入门
6.2 使用SQL语言
6.3 TQuery组件
6.4 SQL Builder
6.5 编程实例
第7章 使用Quick Report创建报表
7.l 创建一个简单报表
7.2 数据报表组件
7.3 利用 Quick Report Wizard创建报表
7.4 多功能报表实例
第8章 TeeChart图表
8.l 制作 TeeChart图表
8.2 使用TeeChart图表向导
8.3 引出和打印图表
8.4 数据库图表
8.5 在数据报表上建立图表
8.6 创建决策图表
第9章 多层Client/Server应用程序
9.l 多层数据库应用程序的体系结构
9.2 Client/Server开发
9.3 有关组件
9.4 Client/Server应用实例
第10章 MIDAS
10.1 MIDAS简介
10.2 MIDAS组件页
10.3 加深理解TClientDataSet
10.4 创建多层应用程序
10.5 使用ActiveForm开发Web数据库
10.6 编程实例
第11章 决策支持组件
11.1 TDecisionCube组件
11.2 TDecisionQuery组件
11.3 TDecislonSource组件
11.4 TDecisionPivot组件
11.5 TDecisionGrid组件
11.6 使用决策支持组件
第12章 ADO 组件
12.1 ADO组件
12.2 ADOConnection组件
12.3 ADODataSet组件
12.4 ADOCommand组件
12.5 ADOTable组件
12.6 ADOQuery组件
12.7 ADOStoredProc组件
12.8 RDSConnection组件
IZ.9 应用实例
第13章 数据库综合实例
13.1 数据库应用程序的功能设计
13.2 程序的结构设计
13.3 程序的窗体设计
13.4 程序的代码编写
13.5 执行程序
13.6 小结
· · · · · · (收起)
读后感
用户评价
这本书的实战性确实让人眼前一亮,尤其对于我们这些想把理论知识立刻转化到实际项目中的开发者来说,简直是“雪中送炭”。我记得当时手里正好有个棘手的客户需求,涉及到复杂的多表连接和数据同步,我翻遍了手头现有的几本老旧的数据库编程参考书,收获甚微,那些书要么过于理论化,要么使用的技术栈已经完全过时。直到我拿到了这本《C++ Builder5 程序设计——数据库应用实务篇》,情况才有了彻底的转变。作者在讲解 BDE(Borland Database Engine)的配置和性能优化时,没有停留在简单的连接字符串层面,而是深入到了数据提供者、提供者之间的事务处理机制,甚至还细致地剖析了如何利用 TTable 或 TQuery 组件在不同并发级别下保持数据一致性。我尤其欣赏它在“报表生成”那一章的处理方式,它没有简单地介绍如何调用打印向导,而是手把手地教你如何自定义打印模板,如何处理跨页打印时的页眉页脚逻辑,以及如何将复杂的计算结果高效地渲染到打印流中。这种对细节的把控,完全是经验的积累,不是纸上谈兵能写出来的。对于那些渴望快速提升 C++ Builder 数据库应用开发水平的工程师来说,这本书提供的不仅仅是代码示例,更是一种解决实际工程问题的思维框架。
与其他主要关注界面美观或 VCL 控件使用的书籍相比,这本《数据库应用实务篇》展现了一种截然不同的、更偏向“幕后英雄”的编程哲学。它几乎没有花费笔墨去讨论按钮的颜色、菜单的布局,所有的篇幅都集中在如何让数据流转得更顺畅、更安全、更快速。我特别欣赏作者对于“数据绑定机制”的深度剖析。它不仅仅是教你如何把 TDataSource 连接到 TDBGrid,而是深入到了数据源事件的触发顺序、数据校验的拦截点,以及如何在数据提交到服务器前进行客户端的业务逻辑预处理。这种底层原理的阐述,对于理解 ORM 思想的早期实践非常有帮助。它迫使读者去思考:数据在应用层和数据库层之间“流动”的每一个环节,究竟发生了什么?这种对底层机制的刨根问底,极大地提升了我对整个应用架构的宏观把握能力。可以说,这本书像是给一个熟练使用工具的工匠,补上了关于材料学和力学的基础知识,让他的手艺从“熟练”迈向了“精湛”。
说实话,刚拿到这本书的时候,我内心是有点忐忑的。C++ Builder 5 这个版本在现在的软件开发生态中已经算得上是“古董”级别的存在了,我甚至怀疑现在市面上还有多少人会深入研究它。然而,当我翻阅其关于数据安全和权限管理的章节时,那种老派但极其稳健的编程哲学又重新抓住了我的注意力。作者对于“最小权限原则”在数据库访问中的实践讲解得极为透彻,他不仅展示了如何通过 SQL 语句限制用户的增删改查权限,更进一步探讨了在客户端应用层面如何对敏感数据进行二次加密和掩盖,确保即使数据包被截获,核心业务信息也不会轻易泄露。这在当时那种网络安全意识尚未完全普及的年代,无疑是具有前瞻性的。更让我印象深刻的是,书中对“数据移植性”的讨论。尽管是基于特定的 BDE 环境,作者还是提供了一套清晰的思路,教读者如何构建松耦合的数据库访问层,以便未来在需要迁移到 ADO 或其他数据访问技术时,能够快速适应。这种对技术生命周期和未来维护性的考量,让这本书的价值远远超出了一个特定版本工具书的范畴,它传授的是一种面向对象、面向未来的数据架构设计理念。
阅读体验上,这本书的编排逻辑非常适合自学,但它的难度曲线设置得相当陡峭,绝非“入门级”读物可以概括。前几章的 TDataSet 结构解析,打下了坚实的基础,但当你进入到关于“存储过程和触发器在 BDE 环境下的调用优化”这一部分时,立刻就能感受到压力的增大。作者假设读者已经对 SQL 语言有了一定的了解,然后直接切入到如何利用 C++ Builder 的强大能力去驾驭数据库服务器端逻辑。我特别关注了关于事务处理的章节,书中深入对比了显式事务和隐式事务在性能和数据一致性上的差异,并给出了大量的性能测试数据和图表作为佐证。例如,它用直观的图表展示了在批量数据插入时,使用批量提交(Batch Commit)策略相对于逐条提交时网络延迟和服务器负载的显著降低。这种量化的分析,极大地增强了说服力。这本书的作者显然不是一个只懂编写界面的程序员,而是一个对后端性能有着深刻理解的系统架构师,这种深度的结合,是很多同类书籍所欠缺的。
这本书最让我感到惊喜的是,它没有回避 C++ Builder 5 自身的一些历史遗留问题和局限性,反而将其变成了一个学习和解决问题的契机。例如,书中花了相当篇幅讨论在处理大型 BLOB 字段(如图片或文档)时的内存管理问题。在那个内存资源相对紧张的时代,如何高效地将 BLOB 数据从数据库读取到内存,又如何在不造成内存碎片的情况下将其写入文件系统或内存流中,是一个非常实际的挑战。作者没有使用简单的 TStream 读取,而是介绍了一种分块读取和异步处理的模式,有效地避免了程序在处理大文件时长时间的界面冻结现象。这种对用户体验和系统稳定性的双重关注,体现了作者在实际项目一线摸爬滚打的经验。此外,对于异常处理,书中强调的“数据库操作失败时的资源回滚策略”非常细致,确保了即使在网络中断或服务器宕机的情况下,客户端的数据状态也能得到妥善处理,避免了“脏数据”的产生。这本书教会我的不仅是如何写出能运行的代码,更是如何写出健壮、用户友好的企业级应用。