DataModule 拜托,请给我说说DataModule的具体用法。: 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 相当与供公共调用的窗口(无法显示),里面放一些数据库组建,如TADOCONNECTION,TADOQUERY,TQUERY,TADODATASET,TTABLE等等在用到这些东西的地方调用它就行了 Datamodule是一个容器,主要用来放数据库查询控件,如Ttable、Tquery、Tdatasource等,这样能方便程序的管理 跟Form没什么区别,只是他运行时看不见 除了作为容器方便管理各个数据库组件外,最重要的是他可以使DELPHI数据库程序更加面向对象(有些程序员称:一旦程序中使用了数据库组件后,程序设计就不能面向对象了,其实不然)。下面举个例子:在一个Datamodule中放一个adoconnection一个adoquery已经一个datasetprovider进行数据分发。Datamodule相当于数据层,为了实现业务层与数据层分离,可以设计一个专门的业务类TMaint,将Datamodule作为它内部的一个对象。 TMaint=class private FDataModule:TDataModule1; protected public function FindUserInfo(const UserName:AnsiString):OleVariant;//得到指定用户的详细信息 constructor Create; destructor Destroy;override; end;FindUserInfo作为TMaint的一个方法是为了获得指定用户的详细信息,在这个方法的实现中调用FDataModule.adoquery来完成查询并返回结果。以上体现了一种业务与数据和界面相分离的面向对象思想。如果数据库组件直接放到了窗体中,很容易把业务、数据、界面混杂在一起。 如何把一个 记录类型 转成 字符串呢? 从EXCEL表中复制数据时偶尔报错,请高手帮忙 数据库连接问题,请教! 怎么判断数据库中的某个表是否存在 树状结构的实现 字符串的一个问题? 着急,容易得分的Midas问题,高手请进.... 请问这样认今日界面是怎么做出来的?用的什么控件? 如何清除冰河木馬﹖ UNIDAC VS FIREDAC 请问如何允许零长度字串呢? 一个关于汉字的问题
里面放一些数据库组建,如TADOCONNECTION,TADOQUERY,TQUERY,TADODATASET,TTABLE等等
在用到这些东西的地方调用它就行了
这样能方便程序的管理
下面举个例子:
在一个Datamodule中放一个adoconnection一个adoquery已经一个datasetprovider进行数据分发。
Datamodule相当于数据层,为了实现业务层与数据层分离,可以设计一个专门的业务类TMaint,将Datamodule作为它内部的一个对象。 TMaint=class
private
FDataModule:TDataModule1;
protected
public
function FindUserInfo(const UserName:AnsiString):OleVariant;//得到指定用户的详细信息
constructor Create;
destructor Destroy;override;
end;FindUserInfo作为TMaint的一个方法是为了获得指定用户的详细信息,在这个方法的实现中调用FDataModule.adoquery来完成查询并返回结果。以上体现了一种业务与数据和界面相分离的面向对象思想。如果数据库组件直接放到了窗体中,很容易把业务、数据、界面混杂在一起。