起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: 水晶

TSQLDATASET**

[复制链接]
发表于 2008-8-25 11:17:24 | 显示全部楼层
6. 性能考虑
数据集的每一次滚动或者修改都会通知关联的控件,以做显示表现数据的变化,如果有遍历数据集等大量的数据集动作,需要在之前调用DisableControls方法让数据感知控件不作变化,只有当执行EnableControls之后才体现数据集的变化。

有批量数据修改时,批量的在客户端修改数据,最后统一调用一次ApplyUpdates来提交给服务器,而不要每一条记录修改都提交。


6.1. 相关属性和方法
procedure DisableControls;
断开数据感知控件与数据集的关联

procedure EnableControls;
建立数据感知控件与数据集的关联


切换行号显示
   1 DataSet.DisableControls;
   2 try
   3   //定位到数据集的第一条记录.
   4   DataSet.First;
   5   while not DataSet.Eof do
   6   begin
   7     DataSet.Edit;
   8     //修改字段的值.
   9     DataSet.FieldByName('ZD1').AsString := 'test';
  10     DataSet.Post;
  11     //滚动到下一条记录.
  12     DataSet.Next;
  13   end;
  14   //提交修改到服务端.
  15   DataSet.ApplyUpdates;
  16 finally
  17   DataSet.EnableControls;
  18 end;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-20 23:36 , Processed in 0.039798 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表