随笔 - 63  文章 - 0 评论 - 9 trackbacks - 0

随笔分类 - 三层
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 阅读(2302) | 评论 (1) 编辑
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 阅读(1156) | 评论 (2) 编辑
delphi三层结构常出现的问题和解决方案
摘要: 以下问题出现原因有可能多个,暂时将我遇见的记录下来,以后有新的在陆续更新上去,有网友愿意的话也可以共同测试一下。一,无法更新定位行。一些值可能已在最后一次读取已更改。错误出现前提:1, 录数据时,没有输或忘记输一些列就保存,之后重新修改记录,输入这些值后保存出现错误。2, 多个人同时修改记录,后保存的几个人会出现。分析原因:1, 这种错误通常在数据库表中某一个或几个字段存在默认值,而在录的过程跳过了默认值列的输入,导致保存后记录显示和数据库不一致,保存会出现。2, 第二种情况不用解释了,因为错误提示得很清楚。解决方法:1, 取消数据库表原先存在默认值的列的默认值。真的需要默认值的话,就在aft阅读全文
posted @ 2011-03-13 18:53 fyen 阅读(2146) | 评论 (0) 编辑