首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TClientDataset组件应该放在哪里?

TClientDataset组件应该放在哪里?
EN

Stack Overflow用户
提问于 2010-01-15 23:58:29
回答 5查看 700关注 0票数 3

一些背景知识:我想开发一个桌面应用程序,使用SQL数据库作为存储。一次只有一个用户连接到数据库。

为了便于维护,我想将GUI从Busniss Logic中分离出来。因此,我想对每个对话框使用DataModule (实现BL的地方)。

我的问题是:哪里是插入TClientDataset组件的合适位置?直接在对话框中还是在DataModule中?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-01-16 03:16:26

就我个人而言,我总是将TDataset的后代放在一个数据模块中。如果您在某个时候决定重新设计窗体,您仍然可以使用您的数据集。因此,在表单之间共享信息也更容易。一般来说,让你的GUI和数据分开!

票数 5
EN

Stack Overflow用户

发布于 2010-01-16 00:08:52

如果TClientDataSet不会同时被多个屏幕使用,为了方便起见,将它们放在DataModule上是安全的。但是,当您有两个或多个屏幕访问相同的TClientDataSet时,您将遇到问题,因为数据集只有一个光标,移动到一个屏幕上的另一个记录也会移动到其他屏幕上的另一个记录。在这种情况下:将TClientDataset放在使用数据的屏幕上。连接仍然可以放在数据模块上,因为它是由所有数据集共享的。

票数 2
EN

Stack Overflow用户

发布于 2010-01-16 04:00:20

我会将DataSets放在DataModules中。这样,你就可以让多个不同形式的视图指向同一个DataSet上,就像一个详细信息视图和一个网格中的列表一样,它们将始终保持同步自动

它还将具有业务规则的数据界面和具有表示功能的用户界面之间的分离正式化,使得可以更轻松地独立更改业务规则或重新设计UI

如果您需要让表单的多个实例访问不同的数据,则始终可以实例化多个DataModules并将每个表单与其相关的表单挂钩。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2072882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档