当前位置:主页>销售管理软件> 列表

intraweb 的 datamodule 问题

仓库管理软件版1楼: 我现在正在用intraweb开发一个项目。一开始,我是每一个窗体用一个ADOquary.现在想放一个在datamodule,然后每个窗体直接调用datamodule。怎么办?
intraweb 与 delphi 7 普通开发还是有不少区别
有没有相关例子?(最好用intraweb7.x版本做的)

2楼: Intraweb分Appmode和Pagemode两种方式:
在Appmode模式下,Datamodule一般放在存储在Session里。一般在你生成工程时,选择带有DataModule.生产的模块里有一个IWUserSession的模块。你把你的AdoQuery都放到这个模块上就成了。
在Pagemode模式下,因为没有seesion了,所以你需要自己加入一个Data Module。然后把你的Adoquery都放到上面,用的时候引用这个单元,然后用上面的Adoquey. 如进销存系统分析

3楼: 这个我知道,我想问的是如何调用Datamodule的AdoQuery?
单单在USE语句加个Datamoduleunit可不行呀

4楼: 没问题的。
比如IWUserSession (命名为Usersession)中你放了一个Table1,DataSource1, 在IWForm1中你就可以直接用Usersession.Table1来调用Table1.当然的先引用Userssion所在的单元。
俺用过N次了,Appmode跟Delphi7编程没太大的区别,Pagemode则有些不同,它需要跟WebBroker或Websnap一起用。

5楼: 呵呵,就直接问你一个问题吧:
我用SQL server做数据库,每次连接当然都要IP地址、用户名和密码
由于每个窗体都得有数据库连接,所以我想第一次从本地ACCESS获得IP地址、用户名和密码后,想保存在某个地方,以后别的窗体要IP地址、用户名和密码时,不用再从本地ACCESS获得。怎么办??

6楼: 这其实就相当于一次登陆。你可以在IWServerController的OnCreate事件中,登陆数据库。不过,由于在OnCreate时间发生时,Session还没创建。你需要创建一个空的Data Module,来访问其中的数据。
var
dm: TDM1
begin
try
dm:=TDM1.create(nil);
with TDM1.adoconnection1 do
begin
....
end;
finally
dm.free;
end;

另一种办法就是在IWServerController的OnAuthRequest事件中来处理。
var
dm: TDM1
begin
with dm.adoconnection1 do
begin
.....
end;
end;

仓库管理软件版7楼: TDM1是什么东东?
你有没有QQ?能不能即时聊天、问询?
我的31701808

8楼: 接受答案了.