起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 111|回复: 6

【搞定】如何自动完成对数据集多条记录对应字段值的自动修改?**

[复制链接]
发表于 2007-9-11 22:28:07 | 显示全部楼层 |阅读模式
先给段代码:
procedure TBUDGETAPPLY.DataSetBMNDYSSQBeforeApplyUpdates(Sender: TObject; var OwnerData: object);
var
  i,n:integer;
  ztr,ztd,zts:string ;  \\定义字符串变量
  zsr,zsj,zsy,zss:string ;
begin
  DataSetBMNDYSSQ.Open;
  
  i:= DataSetBMNDYSSQ.RecordCount; \\计算数据集总记录条数,并将值赋给i
  n:=0;

  ztr:= DataSetBMNDYSSQ.FieldByName('Fillup').AsString ;  \\将当前数据集相应字段的值赋给字符串变量
  ztd:= DataSetBMNDYSSQ.FieldByName('fillupdep').AsString ;
  zts:= DataSetBMNDYSSQ.FieldByName('fillupdeptime').AsString ;

  zsr:= DataSetBMNDYSSQ.FieldByName('Brigade').AsString ;
  zsj:= DataSetBMNDYSSQ.FieldByName('Bcheckresult').AsString ;
  zsy:= DataSetBMNDYSSQ.FieldByName('brigadeNotion').AsString ;
  zss:= DataSetBMNDYSSQ.FieldByName('Bchecktime').AsString ;
  DataSetBMNDYSSQ.First;  \\数据集指向第一条记录

while i>n  do
  begin
   DataSetBMNDYSSQ.Edit;
   DataSetBMNDYSSQ.FieldByName('Fillup').AsString := ztr ;\\自动将字段的值写进数据集的每条记录相应字段。
   DataSetBMNDYSSQ.FieldByName('fillupdep').AsString:=ztd ;
   DataSetBMNDYSSQ.FieldByName('fillupdeptime').AsString:=zts ;

   DataSetBMNDYSSQ.FieldByName('Brigade').AsString:= zsr ;
   DataSetBMNDYSSQ.FieldByName('Bcheckresult').AsString:= zsj  ;
   DataSetBMNDYSSQ.FieldByName('brigadeNotion').AsString:= zsy ;
   DataSetBMNDYSSQ.FieldByName('Bchecktime').AsString:= zss ;  
   DataSetBMNDYSSQ.Next ;
   n:=n+1;
  end;
end;
至此数据集能够自动完成对数据集的修改。
回复

使用道具 举报

 楼主| 发表于 2007-9-11 22:31:49 | 显示全部楼层

procedure TBUDGETAPPLY.DataSetBMNDYSSQBeforeClose(DataSet: TDataSet);

begin

   DataSetBMNDYSSQ.Edit;
   DataSetBMNDYSSQ.UpdateRecord;\\在这里物理数据库始终只修改当前记录,无法将整个数据集记录修改。 该用什么方法update呢?
   DataSetBMNDYSSQ.Close;            
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-11 22:36:22 | 显示全部楼层

数据集的更新属性已经做了相应的设置。为什么,数据集记录的相应字段都相应变化了,而这种变化确不能返回到物理数据库中?
回复 支持 反对

使用道具 举报

发表于 2007-9-12 08:48:32 | 显示全部楼层
必须做ApplyUpdates提交,物理数据库才能修改
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-12 22:52:03 | 显示全部楼层

楼上的

试过applyupdates,运行时会在此处报错,好像是讲类型不对。
回复 支持 反对

使用道具 举报

发表于 2007-9-13 08:49:26 | 显示全部楼层
什么错误,写详细点
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-13 22:12:06 | 显示全部楼层

解决了

谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-16 05:03 , Processed in 0.036212 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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