般
般若游龙
Unregistered / Unconfirmed
GUEST, unregistred user!
李维在《delphi7高效数据库编程》中极力推荐使用DBExpress 2.0,老龙也因此被吸引,在新项目以DBEXpress为基础,构建数据库访问层中间件。
试用一段时间后,却发现Borland的这个东东极不成熟,比如说:SQL查询会的数据集没有主键信息;DBGrid不能正确识别自动增长字段(SQL Server中叫标志字段),而要求赋无意义的值,后端的Dataprovider却又拒绝接受界面赋给的值。更有甚者,在手工维护主键信息和标志字段信息后,仍然无法正常提交Delta数据包;多表更新就更不用说了。
最后,我被迫放弃用DBExpress做数据访问层中间件,而退回到ADO。所幸,系统架构设计良好,数据访问细节均在此中间件中封装,而且被其他各模块公用。只需要更改数据访问机制为ado即可。
通过这次教训,虽然欣赏到李维大侠的写书水平,但对他的建议和代码(他写的数据访问中间件代码大量使用DBModule,并且不停地动态创建它们,把我的下属的习惯都教坏了,害得我花了不少时间纠正)却不敢全信,凡事要自己亲自尝试才行。
试用一段时间后,却发现Borland的这个东东极不成熟,比如说:SQL查询会的数据集没有主键信息;DBGrid不能正确识别自动增长字段(SQL Server中叫标志字段),而要求赋无意义的值,后端的Dataprovider却又拒绝接受界面赋给的值。更有甚者,在手工维护主键信息和标志字段信息后,仍然无法正常提交Delta数据包;多表更新就更不用说了。
最后,我被迫放弃用DBExpress做数据访问层中间件,而退回到ADO。所幸,系统架构设计良好,数据访问细节均在此中间件中封装,而且被其他各模块公用。只需要更改数据访问机制为ado即可。
通过这次教训,虽然欣赏到李维大侠的写书水平,但对他的建议和代码(他写的数据访问中间件代码大量使用DBModule,并且不停地动态创建它们,把我的下属的习惯都教坏了,害得我花了不少时间纠正)却不敢全信,凡事要自己亲自尝试才行。