我有一个DataModule,我想有许多(>50)数据集在它里面。我计划通过函数和过程从数据集中请求数据。
问题是,在DataModule中组织数据集的最佳方式是什么?我看到三个选项:
- 每个数据集一个设计时组件。
- 为所有数据集提供一个通用的设计时组件数据集。SQL命令文本和其他属性在相应的函数或过程中动态设置。
- 没有设计时组件。每个数据集都是在运行时在相应的函数中创建的,然后它将数据返回给该函数并被销毁。
你认为哪条路是最好的?或者以上都没有?是否有其他方法可以有效地在数据模块中组织许多数据集?
我在数据模块中使用了以下设置:
1)设计时组件与设计时查询:
-
将在你的应用程序中存在较长时间的数据,例如网格等用户交互的数据。通常将提供程序和客户端数据集连接到查询组件。
-
数据集用于重复查找(因此通常带有参数)
我给它们命名,引用它们正在检索/更新的实体。为调试和其他人清除。
2)没有SQL的设计时组件,用于特殊的查找和更新,通常只是一个通用命名的QryLookup和QryUpdate。我只是在运行时设置SQL并执行。通常没有数据源等我已经看到了所有这些可能性,虽然第二和第三种方法非常灵活,但方法一至少提供了最高和最快的可读性,并且为没有参与代码的人提供了最快的调试访问。但是我会选择一个和三个的混合,其中经常使用的数据集将在数据模块中,而不经常使用的数据集或数据集将在运行时更改,最终将在一些局部方法。
根据你的项目,它们是很好的选择。
选项1。需要维护大量重复的代码。很难找到需要编辑的数据集来定义。dfm。不容易调试
选项2。需要维护的代码更少,但使用长SQL字符串编辑更困难。容易调试。
3选项。我觉得这和选项2很相似