没有合适的资源?快使用搜索试试~ 我知道了~
Delphi三层开发小技巧:TClientDataSet的Delta妙用
需积分: 34 42 下载量 4 浏览量
2010-11-29
03:08:29
上传
评论 1
收藏 30KB DOC 举报
温馨提示
试读
5页
Delphi做三层开发时,很多人都会在客户端放一个TClientDataSet,中间层远程数据模块就对应放一个TDataSetProvider,然后再连起来.其实这种方法很烦琐,而且程序痈肿不甘,不好维护.我们都知道TClientDataSet的Delta属性记录了数据的所有修改,应用它我们就可以方便的实现一个单表更新的通用方法
资源推荐
资源详情
资源评论
Delphi 三层开发小技巧:TClientDataSet 的 Delta 妙用
Delphi 做三层开发时,很多人都会在客户端放一个 TClientDataSet,中间层远
程数据模块就对应放一个 TDataSetProvider,然后再连起来.其实这种方法很
烦琐,而且程序痈肿不甘,不好维护.我们都知道 TClientDataSet 的 Delta 属性
记录了数据的所有修改,应用它我们就可以方便的实现一个单表更新的通用方法.
首先,在中间层添加一个方法,就叫 ApplyUpdates 吧.方法定义如下:
function ApplyUpdates(const UpdateTable:String;Delta:Variant;out
err:String):Boolean;
参数 UpdateTable 是指要更新的表名,Delta 是指传过来的 TClientDataSet
的 Delta 属性,如果更新错误 err 返回错误的内容.下面实现这个方法,首先在
DataModule 上放一个 Query,Query 连上 Connection,然后再放一个
TDataSetProvider 连 Query.代码如下:
function TRoDm.ApplyUpdates(const
UpdateTable:String;Delta:Variant;out err:String):Boolean;
const sql='select * from %s where 1<>1';
var sqlstr:string;
ErrCount:Integer;
begin
Result:=False;
sqlstr:=Format(sql,[UpdateTable]);
try
Conn.BeginTrans;
Query.Close;
Query.sql.text:=sqlstr;
Query.open;
Provider.ApplyUpdates(Delta,-1,ErrCount);
资源评论
helin33
- 粉丝: 2
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功