起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 317|回复: 19

【结帖】关于applyupdatas[请求]**

[复制链接]
发表于 2008-8-5 15:53:57 | 显示全部楼层 |阅读模式
我在改了几条记录的时候,调用applyupdatas更新数据,但是只有部分更新,这是为什么?
回复

使用道具 举报

发表于 2008-8-5 16:06:00 | 显示全部楼层
"但是只有部分更新"是什么意思,是部分记录,还是部分字段?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-5 16:11:13 | 显示全部楼层
部分记录。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-5 16:23:43 | 显示全部楼层
多条记录,只有最后一条提交到了数据库中,前面的都没有。在提交之前我已经了post了
回复 支持 反对

使用道具 举报

发表于 2008-8-5 16:35:59 | 显示全部楼层
1.界面是什么样的,贴个图看看?
2.修改记录是用代码写的,还是通过界面修改的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-5 16:56:47 | 显示全部楼层
我先自己再调调吧。改天再问。呵呵
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-5 17:07:26 | 显示全部楼层
DataSetIMO_List2.Close;
  DataSetIMO_List2.Open;
  if (DataSetIMO_List2.RecordCount <> 0) then
  begin
    DataSetIMO_List2.First;
    for i := 0 to DataSetIMO_List2.RecordCount-1 do
      begin
        MOTENGINENO := DataSetIMO_List2.FieldByName  ('MOTENGINENO').AsString;
        DataSetmaterinfo3.Close;
        DataSetmaterinfo3.SQL.Clear;
        S_sql1 := 'select * ' + 'from MATERINFO where version_n ='''+ k + '''' +' AND ENGINENO = '+ MOTENGINENO ;
        DataSetmaterinfo3.SQL.Text := S_sql1;
        DataSetmaterinfo3.Open;
        if not (DataSetmaterinfo3.State in
               [Business.Data.TDataSetState.dsEdit, Business.Data.TDataSetState.dsInsert]) then  DataSetmaterinfo3.Edit;
    DataSetmaterinfo3.FieldByName(matfield).value:=DataSetIMO_List2.FieldByName(sonfield).asstring;
       End;
       DataSetmaterinfo3.post;
        DataSetIMO_List2.Next;
      end;
  DataSetmaterinfo3.ApplyUpdates;
end;

自己还是调不出来,代码意思大致如上。
回复 支持 反对

使用道具 举报

发表于 2008-8-5 17:07:52 | 显示全部楼层
结贴吗?
回复 支持 反对

使用道具 举报

发表于 2008-8-5 17:28:56 | 显示全部楼层
你看你的代码了吗?
知道写的逻辑吗?
前面循环post  DataSetmaterinfo3 这个数据集后,循环上来就Close,那当然前面的都丢失了
把  DataSetmaterinfo3.ApplyUpdates; 写到循环里面就会提交所有了。

再说说你的代码吧,
1、你代码看close数据集,然后给一个条件,然后open数据集,此时数据集的状态(State )肯定不是 edit ,你写这个判断没有意义,
2、不知道DataSetmaterinfo3 在界面上是否有表现,如果没有,直接给SQL语句修改值就可以了,没有必要取到本地再替换
3、大数据量循环,建议在循环前加上DataSet.DisableControls;,循环后再DataSet.EnableControls
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-5 18:34:08 | 显示全部楼层
我把applyupdatas写到循环里时,系统会报错说"正在提交"啊
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-20 10:50 , Processed in 0.046566 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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