中国程序员联盟 正在重新改版中ing 不便之处还请见谅 改版后将内容涉及java delphi .net php
 
  首页 | 数据库开发 | 网络通讯 | 多线程 | 多媒体开发 | 图像处理 | 程序人生 | 系统函数 | 控件开发 | Web服务
 
  当前位置:笨鱼delphi技术网>数据库开发>代码分析>文章内容

delphi 无状态的中间层的数据存取

来源:站内 关于:bill 发布时间:2007-06-22   [收藏] [推荐]

在Delphi5的Midas3中,Borland公司完全引入了中间层的无状态的概念。 一是为了迎合Microsoft公司的MTS,另外也就是为了减少中间层服务器的资源消耗,这样,就能够让中间层服务器服务更多的用户。

这样的无状态的中间层服务器就意味着中间层的DataModule不会再为客户端维护打开的数据集的光标(Cursor),客户端只有通过自己维护状态信息来保证提取到正确的数据记录。

那么,客户端是如何维护自身的状态信息的呢。

Delphi5的TClientDataSet加入了IAppServer的接口,在IAppServer的接口中有这么一个接口函数定义:
function AS_GetRecords,这个接口有一个参数“var OwnerData:OleVariant”,能够让客户端在向中间层请求数据的时候传递附加的参数,我们就能够利用这个参数达到维护状态信息的目的。

确定你所要存取的数据表有一个能够唯一标识的字段(或者是一组字段)
在调用AS_GetRecords的时候在OwnerData传递这个唯一标识
ClientDataSet的FetchOnDemand设置成 False
ClientDataSet的PacketRecords设置成10(反正不要太大就行了)
每次向中间层请求数据的时候,把唯一标识传给中间层服务器,让中间层的DataModule里面的Provider打开数据集,然后把数据集利用Locate方法定位到唯一标识记录,然后调用Next方法就可以了
注意,每次Fetch数据时传递的唯一标识就是客户端的ClientDataset的最后一条记录的那个啦


[浏览: 次]   
上一篇:delphi 多层连接方式的选择分析   下一篇:delphi DBExpress 入门
[收藏] [推荐] [返回顶部] [打印本页] [关闭窗口]  
    评论加载中…
google adsense热点文章
·delphi Delphi_动态数组介绍----Delphi
·delphi 检查IP地址
·delphi DBExpress 提高
·delphi 复制Excel列到二维数组
·delphi Delphi_VCL消息处理机制的内幕
·delphi 产生不重复的随机数
·delphi 如何在DELPHI里调用MS office
·delphi 缓冲池
·delphi Asta多层应用实现
·delphi MIDAS——多层分布式应用程序服
·delphi 在WORD文档里添加页签
·delphi Datamodule的应用方式
     delphi技术网 | firefox 下载 | Avant Browser下载 | dedecms 技术网 | drupal 爱好者 | php 技术网
  Copyright@www.delphichm.com,2006-2009.All Rights Reserved.
 
程序员联盟 | delphi Java .net|QQ:707102932