起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 382|回复: 3

是否是数据延时(急!)**

[复制链接]
发表于 2007-1-18 10:05:08 | 显示全部楼层 |阅读模式
我作了一个功能,主窗体里面有2个相关数据集DataSetBrokertan主数据集,DataSetBrokerming是从数据集。(我没有在信息层建主从关系,是在代码里面作的过滤用的usefilter)。。DataSetBrokerming(从)控制的是一个datagrid。
我点击下面的“导入设备明细按钮”弹出从数据集,从数据集也有相应的主从关系,“检验报告”tab页面的数据集是主窗体DataSetBrokertan的从数据集,“检验明细”tab页用的是窗体里面的Tsqldataset。
主窗体里面的DataSetBrokerming引用的数据集里面的数据表和从窗体Tsqldataset引用的数据表是一张物理表。。我所作的目的就是弹出从数据集,修改Tsqldataset里面一些选中数据里面的2个字段的值,然后在从窗体关闭的时候刷新主窗体的DataSetBrokerming,刷新grid。。。
现在遇到的问题是:当我在从数据集选中多条(大于三条)数据的时候,点击按钮修改数据,可是循环修改完成,每次都是只有其中的一部分作了数据修改,跟踪了一下,循环一半就停止了。。不知道为什么,有人说是数据延时。。我也弄不明白。。我想知道怎么解决比较好。。
主窗体弹出按钮的代码:
procedure TRKMX.Button1Click(Sender: TObject);
begin
  with TDCCT.Create(Context) do
  try
    MainID:=DataSetBrokertan.DataSet.FieldByName('id').AsInteger;
    ShowModal;

    with Tsqldataset(DataSetBrokerming.DataSet) do
      begin
        close;
        UserFilter := 'ACCENTANCE_NOTIFY_LIST.rkdbh = '+inttostr(MainID);
        open;
      end;
  Finally
    Free;
  end;
end;

从窗体的Tsqldataset的过滤和确定按钮(就是可是保存数据库的循环按钮)代码:
procedure TDCCT.DataSetBrokerCheckOutAfterScroll(DataSet: TDataSet);
var
  JYID:integer;
begin
  JYID:= DataSetBrokerCheckOut.DataSet.FieldByName('id').AsInteger;
  with TSqlDataSet(DataSource.DataSet) do
  begin
    Close;
    UserFilter := 'ACCENTANCE_NOTIFY_LIST.ysdh = '+inttostr(JYID);
    Open;
  end;
end;
procedure TDCCT.Button1Click(Sender: TObject);

begin
    with DataSource.DataSet do
    begin
      First;
      while not Eof do
      begin
        if FieldByName('选择').asString = 'True' then
        begin
          Edit;
          FieldByName('rkbz').AsInteger := 2;
          FieldByName('kcsl').AsInteger := FieldByName('sssl').AsInteger;
          showmessage(inttostr(Mainid));
          FieldByName('rkdbh').AsInteger := MainID;
          Post;
        end;
        Next;
      end;
      DataSetSBMX.ApplyUpdates;
    end;

    DataSetBrokerCheckOut.DataSet.Cancel;
    ModalResult:=Business.Forms.Controls.mrOk;
end;

图是主窗体

aaaa.gif

9.21 KB, 下载次数: 104

回复

使用道具 举报

 楼主| 发表于 2007-1-18 10:05:48 | 显示全部楼层

弹出窗体图

弹出窗体图

bbbb.jpg

30.39 KB, 下载次数: 100

回复 支持 反对

使用道具 举报

发表于 2007-1-18 13:27:50 | 显示全部楼层
楼主,感觉好复杂哦,你跟踪的时候,循环的次数是你要的吗?就是 DataSource.DataSet 的记录个数是多少,然后循环到几就退出来了
回复 支持 反对

使用道具 举报

发表于 2007-1-29 09:55:02 | 显示全部楼层
??,

不反馈我结贴了:)
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-16 07:41 , Processed in 0.038342 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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