请问你们在MIDAS 里的服务端的哪个数据库构件哪个事件里对数据进行数据处理记录的鉴别和审核???我碰上个难题,,,谁能帮我想个办法?? (200分)

  • 主题发起人 主题发起人 葬月
  • 开始时间 开始时间

葬月

Unregistered / Unconfirmed
GUEST, unregistred user!
是这样的, 数据库里有两个表 ,一个是权限表, 一个是数据表
权限其实只有两种,一种是只能看,不能编辑,一种是能看能编辑
权限表结构
用户名 权限值
数据表结构
标题 文本 创建时间

当我在客户端的ClientDataSet.ApplyUpdates(0)后
根据李维所讲的, 在服务端的
procedure TBook.m_DataSetProviderBeforeUpdateRecord(Sender: TObject;
SourceDS: TDataSet;
DeltaDS: TClientDataSet;
UpdateKind: TUpdateKind;
var Applied: Boolean);
事件中可以对数据记录进行鉴别, 我如何附带客户端那里的用户名和PASSWORD
也就是说,最好有既能让我附带个数据, 也能让我来对数据进行数据
处理记录的鉴别和审核,
而且各个用户不能相互编辑别人的记录
只能编辑自己的记录,,,,
我一定要知道是哪个用户编辑了这天记录,然后根据用户名
查询出权限值, 然后决定是否让它更新,而且还要知道它是否是这条记录的主人
谁能给我想个方法,
我不懂MTS和COM,时间很紧,没时间学,边结构也不能改了
 
客户端:
ClientDataSet1BeforeApplyUpdates(Sender: TObject;
var OwnerData: OleVariant);
把用户信息[red]加入[/red]到 OwnerData中,可把它转化成OleVariant数组
OwnerData := VarArrayOf([UserName: string, OwnerData]);
服务器端:
DataSetProvider1BeforeApplyUpdates(Sender: TObject;
var OwnerData: OleVariant);
从OwnerData中取得用户信息,
UserName :String := OwnerData[0];
tmp: OleVariant := OwnerData[1];
OwnerData := tmp;
再定义一个关于远程数据模块的全局变量,验证用户是否通过
处理DataSetProvider1BeforeUpdateRecord事件
判断刚才验证的结果,决定是否要更新数据。
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
875
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部