中间层中的DataModule中的数据集过多了,能有200多个ADOQuery和DataSetProvider,这些控件叠加在一起,非常不好管理,不知大家有没有好的解决办法?

解决方案 »

  1.   

    不能把数量减少吗,可以按照功能进行分类,然后共享一个datasetprovider,比如客户端用sql语句更新的tClientDataSet就应该可以使用同一个datasetprovider,客户端使用后就clientdataset.close释放链接
      

  2.   

    谢谢大家的回复,有些办法我试过了。比如说一个中间层用多个DataModule应该是不可以的,还有我一般就是使用ClientDataSet.ApplyUpdates(0)来更新数据的。
      

  3.   

    >>比如说一个中间层用多个DataModule应该是不可以的
    哪个老师教的?
      

  4.   

    多个datamodule是可以的呀
    应该没有问题
      

  5.   

    多个DataModule
    不能把数量减少吗,可以按照功能进行分类,然后共享一个datasetprovider,比如客户端用sql语句更新的tClientDataSet就应该可以使用同一个datasetprovider,客户端使用后就clientdataset.close释放链接
    谢谢大家的回复,有些办法我试过了。比如说一个中间层用多个DataModule应该是不可以的,还有我一般就是使用ClientDataSet.ApplyUpdates(0)来更新数据的。
      

  6.   

    中间层的DataModule并不是普通的DM。
    TBookManagement = class(TRemoteDataModule, IBookManagement)
    通常的DataModule:  TDM_Main = class(TDataModule)
    看看它们的定义就不相同,我曾经做过实验,在中间层运行过程中可能会出现一些问题。
    不过我学得还不是很精,想听听大家的看法,谢谢。