如果多的话,就放到DATAMODULE里统一管理,如果只有一两个的小程序,
则不用。

解决方案 »

  1.   

    我也觉得这样不好,我在DM中现在只放 Adoconnection,还有IMG,和我的一些公用函数
      

  2.   

    我主要是觉得会使一些公用TQUERY难以管理
      

  3.   

    在使用之前必须先Uses这个DataModule丫。
    安全的做法是:
    with query do
    begin 
    close;
    sql.clear;
    sql.text:="";
    open;
    .....
    close;
    end;
      

  4.   

    每个窗体都用ShowModal显示,并且窗口关闭时要对它连接的数据集的状态(dsInsert、dsEdit等)处理就行了。—————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    I.Maxim := MaximStr;
    I.Explain := '可用分不够可以给我发短消息';
    I.Desire := '加不加分随你';
    —————————————————————————————————
      

  5.   

    DM中只放置公用的QUERY,每次调用完成之后都记得把调用的QUERY关掉,至于在FORM中单独使用的QUERY,放在FORM中
      

  6.   

    例如说,当我使用DATAMODULE里的一个ADOSQL来取得一个数据集,然后对这个数据集进行扫描处理,但在扫描处理的过程中,我调用了另一个模块,而这个模块也使用ADOSQL来取得另一个数据集,当这个模块调用返回之后,ADOSQL里的数据集已经改变了,那扫描处理的过程当然也就混乱错误了
      

  7.   

    到,你可以放置一个AdoQueryTemp丫,调用到的都用这个AdoQueryTemp。
    养成一个习惯,在Form.Close时间把该Form用到的数据集都close.
      

  8.   

    我以前有个项目,一个DataModule,里面密密麻麻放了N个Query,DataSouce,都用的好好的。
      

  9.   

    你的意思是说,让我再加一个AdoQueryTemp吗?
      

  10.   

    我只在datamodule里面放一个adoconnection,
    adoquery都放在自己的form里面。这样管理方便些。
      

  11.   

    我想是不是可以这样,我一般都是这样做的:
    1 做一个单独的DataModule, 只放数据库连接, 如: adoConnection, database 之类的
    2 划分功能模块, 不同的功能模块有各自的DM, 其它的功能模块不能随意调用本模块的 DM
    3 各DM 都连接1 中的DM, 以实现数据库连接共享
    4 这样做只是会在创建与释放DM 的过程中有些麻烦另外,说明一点:
    尽量不把与数据库打交道的东东,如DataBase,DataSet,DataSource等放在Form上,需知,Form 无非是显示数据的一个容器而已, 在Form 上存放过多的逻辑对程序以后的升级和修改并没有什么好处, 相反可能会造成麻烦多多. 特别是多层程序里, Form 已经越来越体现出这样的功用: 容器. 
    君不见一个IE 中是否本身会存放数据? 随着网络的日益普及,中间层的功能会越来越强大,而客户端的Form 的功能会越来越简单, 到最后,只是显示数据而已.
    这也许可以值得我们借鉴.
      

  12.   

    一样的,如果你话在一个form中,当别的form要用的话,就要先打开那个form,更不方便。