本文所述内容都是在delphi下实现。
在用delphi做数据库开发时,往往都会用到Data Module,很多人都会将TConnection, TQuery, TClientDataSet等一些数据库操作控件直接放在一个Data Module上,这
样既不清晰也不利于扩展和维护,一般应该按业务划分模块,尽量将相似或者同一类的业务放到一个模块,比如字典数据,就将对所有字典的操作放到一个模块。在delphi下一个将数据库连接放到一个Data Module A,相同业务的Query放一个模块B,再为每一个B做一个业务模块C(主要负责处理客户端提交的业务数据),主要放ClientDataSet,这样数据的增删改就不要写专门的sql语句,一些数据库的差异性也可以通过控件自己处理掉,甚至将复杂点的查询语句也放在B模块的一个Query中,当然复杂的sql语句很有可能在不同的数据库系统下有差异,这样也没问题,可以通过创建一个模块B2专门来处理某个数据库。当然这样的设计似乎有些过度甚至繁杂,但条理比较清晰。
图:
![](http://hi.csdn.net/attachment/201109/15/0_1316100243x4U7.gif)