编数据库应用程序时是否最好用数据模块?why?(50分)

  • 主题发起人 主题发起人 hjn
  • 开始时间 开始时间
H

hjn

Unregistered / Unconfirmed
GUEST, unregistred user!
我在一些参考书上看到编数据库应用程序时使用数据模块,不知这究竟有什么好处?我因为没试过不知在运行速度上有否提高?抑或有什么别的好处?
 
运行速度上不会有多大的提高,只不是,你的工程可以共用一个DM,
不会再有在屏幕上一大堆table ,query的情况了。
其实用DM最大的一个优点是使数据表易于管理和重新引用。
 
好处如下
1。以后对程序的改动方便,只需改动DM
2。TABLE 和QUERY等控件可以在多个FORM
中共享
 
易于管理是真的,特别是Table,Query很多的情况下.
 
1)易于管理,就象前面几位大侠所说的
2)减少了窗体间的相互依赖
3)易于向多阶层方向移植及向不同类型的数据库平台移植
 
这么说用DM好处不少?不过在往多层结构过渡时该如何移植?是否要在DM中加入一些存储过程?
 
用DM当然好处多多,做数据库的应用肯定要用DM

你有一个概念错误,存储过程指存放在数据库中的预编译过的过程,不是放在Delphi
的TDataModule中的。

往多层移植时可将整个DataModule变成TRemoteDataModule, 当然还有些别的注意
事项,比如DataModule不能有和界面相关的部分,比如弹出个对话框什么的,否则
客户用着你的程序还得到服务器那儿按按钮:-)
要想程序容易移植,最重要的是降低模块,尤其是GUI和数据之间的耦合程序
 
如果是小程序,用用就丢掉的临时小程序(比如数据转换程序),我觉得完全可以不用DataModule;但大系统、比较正式的系统最好用数据模块,这样可以方便管理和移植。例如单层系统可以移植为二层、三层系统,也可以移植为四层系统。另外也方便远程数据库的升迁与更换。

存储过程的确指存放在远程数据库中的过程,例如Oracle的存储过程就存在于Oracle数据库里,与触发器(Trigger)类似,是一组在数据库服务器上执行的SQL语句集。如果是二层以上的数据库系统,并且后台数据库的确有存储过程,你可以在TDataModule上放一个TStoredProc控件调用它们,TSoredProc的用法与TTable、TQuery、TDatabase相似。
 
hehe, if it's not a midas stuff(use remote dm), u needn't a dm
simply use a form instead:")
it has all the advantage above.
 
多人接受答案了。
 
后退
顶部