在哪里放置TDataSource组件?

8
当我将代码拆分为TDataModule(=访问数据)和TForm(=显示数据)时,我应该把TDataSource组件放在哪里?它属于TDataModule还是TForm?
当创建多个实例时,如何处理TDataModule和TForm之间的连接?

3
我认为你应该将数据源放入表单中,然后将多个控件赋值给该数据源。在设计时或运行时,您可以设置数据源的dataset属性。这样,您只需一行代码或在设计时即可将数据源链接到数据集。否则,您必须将每个控件链接到一个单元外的共同目标,这将很麻烦,并且更难以维护或更改。由于我的应用程序中,在设计时间上数据源的dataset值有时与运行时值不同,因此对于我自己的应用程序而言,这种情况就会变得更加突出。 - Warren P
2个回答

10

我会将 Datasources 放在表单中,因为它只是一个与可视化控件一起使用的组件。

此外,您可以在需要时在表单中创建 Datasouces 并在运行时将其绑定到数据集上。在这种情况下,很容易处理 TDataModule 和 TForm 之间的连接。

但那只是我个人的意见:我永远不会使用 DBControlsDataSouces。我更喜欢手动绑定我的数据,并且比使用 DBControlsDataSouces 更灵活,并避免受限于 Borland 创建的一些奇怪机制。但这仅是我的个人看法。


1

建议将您的TDatasource组件放置在Form中,但前提是与它们链接的数据仅由父表单或其任何子表单使用。

当它们链接到全局可访问数据或列表数据时,也建议将您的TDatasource组件放置在全局TDatamodule中,例如客户列表、国家列表等可能在应用程序中的多个窗体中使用的数据。

例如,如果您有一个,则分配给属性的TDatasource适合放置在TDatamodule上。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接