我是新手,所以向有经验的前辈们请教些关于DELPHI数据库开发的一些理论问题!我现在做时是这样的1、连接数据库组件建在一个DataModule上
2、只要需要连接数据库时,就在窗体上扔ADOQuery组件,并连DM上的CONN
3、无论是逻辑代码或操作数据库的代码,都写在某(如BUTTON等)的事件里,或在本单元新建一方法,然后事件调方法。但每个窗体上都会出现ADOquery控件.......
4、每个项目的所有窗体,类都在一个文件夹中,只是用名字来区分,哪个是哪个。
我以前是做JAVA的,都知道JAVA灵巧的利用框架,或手动的,将视图层,控件层,DAO层分开,层次非常的清晰明了。我想知道DELPHI能不能这样实现,有时我也想过,将逻辑层弄出来,但有时窗体上的dBgrid实在没法分,就算分很麻烦。
请问前辈们,你们做数据库开发项目时,是怎么架构的?或管理项目的?

解决方案 »

  1.   

    转一个:
    http://mental.8gua.me/entry/91
    可以参考一下
      

  2.   

    DELPHI 也是可以这样做的,架构都是需要自己设计。“每个窗体上都会出现ADOquery控件”这个是完全不需要的,只要在 DM 加一个,整个程序都公用它就可以了。
      

  3.   

    delphi做数据库也是相当强大的,这点你要了解。
    如你所说,你把conn放在datamodule里面,接下来你说的每个窗体都放query是完全不必要,并且是不合乎delphi要求(虽然可以运行通过并实现)。你应该把query控件,包括datasource数据源控件都放在datamodule里面,这样你新建一个窗体只需要放显示数据的控件,如:dbgrid等。在dbgrid里面与datamodule里面的数据源连接,不过前提是要在你新建的窗体单元引用datamodule单元。
    这样你感觉是不是就很清晰了。总归来说,所有数据连接组件,像数据集,数据源等都可以放在datamodule里面。
    另外你说用到哪个函数就在本窗体单元里面 写,这样也是不好的。不方便公用。你也应该新建一个单元,可以命名为funca单元,就放一些你感觉别的窗体或者单元可能调用的函数或过程,然后在你需要时就引用funca单元,接下来就可以直接使用funca里面的函数了。
    好了,说了这么写,打字也不好受,希望对你有些帮助。