起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: bzlhfh213

【结贴】[请求]关于打开多个数据集速度过慢地问题**

[复制链接]
发表于 2007-7-19 11:23:09 | 显示全部楼层
看一下从表的索引,能建的建一下。
最好表中就直接存内容,查询是就不用翻译了。
回复 支持 反对

使用道具 举报

发表于 2007-7-19 11:32:24 | 显示全部楼层
从数据集
YXBZ ,CMNBID  的索引都有的
回复 支持 反对

使用道具 举报

发表于 2007-7-19 19:04:18 | 显示全部楼层
刚才导出的包还要需要一个点东西,把这个也导入

cbcm_dump_20070719185000.rar

1.54 MB, 下载次数: 22

回复 支持 反对

使用道具 举报

发表于 2007-7-20 09:04:28 | 显示全部楼层
数据太大,导不进去,你用这个贴中6楼的工具导出一下发给我
http://bbs.justep.com/forum.php? ... ;highlight=Datapump
回复 支持 反对

使用道具 举报

发表于 2007-7-20 16:10:36 | 显示全部楼层
在船民信息修改保存功能上加一个业务信息策略,在数据集上加一个默认过滤条件1<>1,意思就是打开数据集的时候不取数据
然后修改一下窗体里的代码
procedure TCMXXXGBCFORM.BizFormCreate(Sender: TObject);
var
  cmid : String;
  fwcbid :String;
begin

  ParserRunParams(cmid,fwcbid);

  if length(cmid) > 0 then
  begin
    with TSQLDataSet(InfoBrokerCMXX.Info.DataSetByID('CMJBXX')) do
    begin
//      SQLFiltered := false;                                       //注掉这一句,这一句会刷新数据集
      SQLFilter := ' CMNBID=''' + cmid + '''';
      SQLFiltered := true;
      UserFilter := '';                                 //加上这一句,把信息策略中的1<>1条件去掉。
    end;

    if length(fwcbid) > 0 then
    begin
      if InfoBrokerCMXX.Info.DataSetByID('CMCSGX').RecordCount > 0 then
      begin
        Business.Forms.Dialogs.ShowMessage('该船民已经在其他船舶!!!');
        Close;
        exit;
      end else
      begin
        InfoBrokerCMXX.Info.DataSetByID('CMCSGX').Append;
        InfoBrokerCMXX.Info.DataSetByID('CMCSGX').FieldByName('CBNBID').AsString := fwcbid;
      end;
    end;
  end;
end;

试一下。
回复 支持 反对

使用道具 举报

发表于 2007-8-21 15:27:56 | 显示全部楼层
楼主,在2819版本上已经改正了这个缺陷。这个贴先结了。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-14 18:14 , Processed in 0.044926 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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