***迷惑:三层中的数据完整性检查与更新问题***
BES 2004-02-21 02:16:43 数据的完整性检测主要集中于中间层中。客户端的数据获取与提交都是采用相同的自定接口方法.
但现在出现这样一个问题:如果在客户端存在100条需提交的记录,但在中间层的数据完整性检查后可能只有95条满足提交的条件且已提交给服务器,那么在客户端如何合并日志(仅合并95条) ???
各位的数据完整性检查是如何实现的 ??? 能否提出些见解。
****注意:客户端的TClientDataSet与中间层服务器不存在联系.****
1:
{ 根据用户及条件提取相关需求数据 2004-2-19 15:33
UserID: 用户编码
dstNm: 需求数据集名称
ParamStr: 条件参数 }
function THPMRP.GetData(const UserID, dstNm: WideString;
ParamStr: OleVariant): OleVariant;
begin
Try
TmpCDS.Close;
TmpCDS.CommandText := GetSQL(UserID, dstNm,ParamStr);
TmpCDS.Open;
Result := TmpCDS.Data;
Finally
TmpCDS.Close;
End;
end;
2:
{ 数据公用提交过程 2004-2-20 10:49
UserID: 用户编码,用以权限判断
dstNm: 提交的功能数据集
Parmastr: 更新参数
vData: 需更新的数据集
Result: 更新过程中需返回的列表 }
function THPMRP.SetData(const UserID, dstNm, ParamStr: WideString;
vData: OleVariant): OleVariant;
var RstErr: Integer;
I: Integer;
begin
//完成数据的得交
dsp_Apply.ApplyUpdates(vData,-1,RstErr);
......
Result := 赋提交过程中出现的问题列表
end;