随笔分类 -  三层

Delphi三层开发小技巧:TClientDataSet的Delta妙用
摘要:Delphi做三层开发时,很多人都会在客户端放一个TClientDataSet,中间层远程数据模块就对应放一个TDataSetProvider,然后再连起来.其实这种方法很烦琐,而且程序痈肿不甘,不好维护.我们都知道TClientDataSet的Delta属性记录了数据的所有修改,应用它我们就可以方便的实现一个单表更新的通用方法. 首先,在中间层添加一个方法,就叫ApplyUpdates吧.方法定义如下: function ApplyUpdates(const UpdateTable:String;Delta:Variant;out err:String):Boolean;参数UpdateTa 阅读全文
posted @ 2011-04-21 10:11 fyen 阅读(3637) 评论(1) 推荐(0) 编辑
Delphi三层 server 下数据连接缓冲池
摘要:unit uAppCenter;{$WARN SYMBOL_PLATFORM OFF}interfaceusesWindows, ComObj, ComServ, ActiveX, HISAPP_TLB, Classes, SyncObjs, StdVcl,VCLCom, SysUtils, Forms, uDataType;typeTAppCenter = class(TComponent, IRDMSystem)private function LockRDM: IRDMSystem; procedure UnlockRDM(Value: IRDMSystem);protected { 实 阅读全文
posted @ 2011-04-21 09:22 fyen 阅读(1823) 评论(2) 推荐(1) 编辑
delphi三层结构常出现的问题和解决方案
摘要:以下问题出现原因有可能多个,暂时将我遇见的记录下来,以后有新的在陆续更新上去,有网友愿意的话也可以共同测试一下。一,无法更新定位行。一些值可能已在最后一次读取已更改。错误出现前提:1, 录数据时,没有输或忘记输一些列就保存,之后重新修改记录,输入这些值后保存出现错误。2, 多个人同时修改记录,后保存的几个人会出现。分析原因:1, 这种错误通常在数据库表中某一个或几个字段存在默认值,而在录的过程跳过了默认值列的输入,导致保存后记录显示和数据库不一致,保存会出现。2, 第二种情况不用解释了,因为错误提示得很清楚。解决方法:1, 取消数据库表原先存在默认值的列的默认值。真的需要默认值的话,就在aft 阅读全文
posted @ 2011-03-13 18:53 fyen 阅读(2939) 评论(0) 推荐(0) 编辑