简单而经典的用户认证问题,(midas,面向对象和数据库操作想结合),欢迎大家讨论。

zf4000 2003-05-12 09:47:24
请各为谈谈在开发分布式系统时,怎样将面向对象和三层结构结合起来,
以用户人证为例,本人先抛砖引玉,陈上自己的想法:
1, 服务器端建立remotedatamodule,拖入adoconnection,adoquery,datasetprovider
2,新建一个objunit,用来声名类,如下:
Type TPerson = class(Tobject)
private
{ Private declarations }
public
name : string[25];
sex : string[4];
{ Public declarations }
end;

type TUser = class(TPerson)
private
{ Private declarations }
public
user_id : string[20];
bumen : string[20]; //根据user_id从数据库取得用户信息
procedure createUserFromId(user_id : string);
procedure insertToDB(str: string);//将user信息插入表中,str格
//式:'user_id',user_id_value,
//'name',name_value
{ Public declarations }
end;

这里出现一个问题,createuserfromid过程该怎么写??我无法访问remotedatamodule里的adoquery控件。思路出现断点。
3,下面的东西还没形成代码,先说说思路:remotedatamodule中构造一个接口:usercheck(),用来检验用户的合法性.
4,欢迎大家来接力
...全文
56 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ninglng 2003-05-23
  • 打赏
  • 举报
回复
你当然不能引用adoquery,remotedatamodule是在客户端访问时才create的,在未建立时引用出错==正常。

你不用这么做的,将所有的对数据的操作写成函数,在tlb中定义接口,客户端调用即可。
javavbling 2003-05-23
  • 打赏
  • 举报
回复
1.业务对象可不可以封装成dll,然后在远程数据模块中调用?
2.客户端能不能从远程数据模块调用封装了的对象?
zzzl 2003-05-20
  • 打赏
  • 举报
回复
太麻烦了,我给你个简单的法
将TPerson从TClientDataset继承,作为业务层,TPerson直接与数据访问层通讯
逢桥夜泊 2003-05-20
  • 打赏
  • 举报
回复
那我也要关注一下了
sapphire99 2003-05-20
  • 打赏
  • 举报
回复
To:888888888888(888888888888)
我和你一样,会一如既往的关注这个问题,呵呵。
888888888888 2003-05-18
  • 打赏
  • 举报
回复
关注
virtualmfc 2003-05-16
  • 打赏
  • 举报
回复
忍不住说几句,COM+中对于这个完全交给程序员自己处理,个人感觉,借用EJB的Session Bean和Entity Bean就可以解决这个问题。详细的自己去看资料。
simonzone 2003-05-13
  • 打赏
  • 举报
回复
com+++++++++
sixgj 2003-05-12
  • 打赏
  • 举报
回复
学习中……
snake_eye 2003-05-12
  • 打赏
  • 举报
回复
数据模块一个COM+
查询信息一个COM+
修改信息一个COm+(这里要处理业务),也可以再建立COM+专门处理其他的业务,然后调用修改信息一个COm+(
thh820630 2003-05-12
  • 打赏
  • 举报
回复
在服务器端接口中定义方法 然后在客户端调用
服务器端是可以访问 数据集组件的
citytramper 2003-05-12
  • 打赏
  • 举报
回复
不明白你的意思 :)

Tuser用来干什么?

procedure createUserFromId(user_id : string);
做什么用?
Oer 2003-05-12
  • 打赏
  • 举报
回复
我想的是,既然是面向对象,那么应当说是让客户端来调用整个对象吧(如用户人证),而你上面的面向对象不就跟C/S一样的吗?
我想了应该是编一个中间层接口来让客户端调用整个对象(包括所有对象的属性、方法,这些属性、方法是用来读取后台的数据等),这样子,只要客户端调用这个接口就可以能调用所有对象的属性、方法。

njbudong 2003-05-12
  • 打赏
  • 举报
回复
呵呵
eastliangliang 2003-05-12
  • 打赏
  • 举报
回复
关注一下
soaringsouth 2003-05-12
  • 打赏
  • 举报
回复
procedure TUser.createUserFromId(user_id: string);
var
Ioper:IFulwel; //与中间层打交道的接口。
begin
if IOper.getuser(user_id) then
begin
//
end;
end;

仅仅是我自己的理解,看看别人有什么高明的。

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧