zoukankan      html  css  js  c++  java
  • ClientDataSet中的PacketRecords属性,减轻网络负载,提升服务器与客户端性能

    ClientDataSet.PacketRecords属性控制一次性从数据库服务器读取的数据记录条数,默认值-1(表示全部读取),如果数据量很大,会加重网络负载,影响服务器和客户端性能。将

    PacketRecords设置成一合理的正值表示一次从数据库读取的数量,通常局域网设置成100-500,广域网设置成50-200,视自身需求适当调整,当浏览的数量超过时,会自动从服务器中读取PacketRecords个数据。

    下图PacketReords设置为3,注意状态栏中的数值:

    **************************************************************************************

    具体操作:

    **************************************************************************************

    DBGrid1.DataSource->DataSource1.DataSet->ClientDataSet1.ProviderName->DataSetProvider1.DataSet->

    SQLDataset1.SQLConnection->SQLConnection1具体数据库(这里连接的是oracle中的EMP表);

    SQLDataSet1.CommandText:=SELECT * FROM EMP;ClientDataSet1.Active:=true;

    DBNavigator1.DataSource->DataSource1;

    **************************************************************************************

    相关代码:

    **************************************************************************************

    procedure TForm3.ClientDataSet1AfterGetRecords(Sender: TObject;
      var OwnerData: OleVariant);
    begin
      if ClientDataSet1.Active then
      begin
        StatusBar1.Panels[0].Text := format('%d', [ClientDataSet1.RecordCount]);
      end;
    end;

    连接到ClientDataSet1.AfterGetRecords事件中。能上代码中delphi XE5,win7 x64,Oracle 11g中测试通过

  • 相关阅读:
    mysql的导出与导入命令的使用
    kendo ui 左侧弹出分享框
    Pytorch离线安装方法
    Python单词接龙小程序
    Shell结束指定名称的进程
    Shell脚本sed命令修改文件的某一行
    Shell中单双引号的区别
    矩阵问题
    泛型通配符详解
    合并链表
  • 原文地址:https://www.cnblogs.com/sun998/p/6505694.html
Copyright © 2011-2022 走看看