起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 438|回复: 13

BeforeApplyUpdates事件加入代码无法更到数据库的问题[请求]**

[复制链接]
发表于 2007-4-11 09:00:41 | 显示全部楼层 |阅读模式
我在Dataset的这个事件
procedure TStandardCostSet.DataSetMasterBeforeApplyUpdates(Sender: TObject; var OwnerData: object);
begin

  if StringUtils.Copy(DataSetMaster.FieldByName('Billsn').AsString,1,4)<>'HBL_' then
  begin
    BillSn.GenBeforeUpdSate;
    DataSetMaster.Edit;
    DataSetMaster.FieldByName('Billsn').AsString:=BillSn.BillSn;
    DataSetMaster.Post;
    DataSetMaster.ApplyUpdates(-1);
  end;
  Inherited;
end;
要更新回数据库,在我存盘之后,DataSet中的数据值改变为我要改的数据值BillSn的值,但是数据库没有存入,是什么原因??
我用的版本是2611
回复

使用道具 举报

发表于 2007-4-11 09:12:44 | 显示全部楼层
你发一个资源包过来看看吧,从这个信息上看不出来
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-11 09:36:53 | 显示全部楼层

我的代码里没有MasterDataSet.Applyupdates(-1);[下载]

我的代码里没有MasterDataSet.Applyupdates(-1);
回复 支持 反对

使用道具 举报

发表于 2007-4-11 09:43:59 | 显示全部楼层
不知道楼主出于啥原因在BeforeApplyUpdates上处理,你是怎么提交的?是用数据导航条吗?如果是应该在数据导航条的 BeforeAction 上来做
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-11 09:50:53 | 显示全部楼层

我的想法是这样。

我要生成一个SN票号。我在表中有个数据状态的字段,在存盘之前我要把状态设置为锁定状态,然后在存盘之后重新更新状态,这样我在BeforeApplyUpdates里面把更新状态和生成编号的动作完成,在AfterCommint之把状态更新回来。解决锁定编号,为了不让编号重复。
我是在航条上面存盘的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-11 09:53:28 | 显示全部楼层

补充:我不想把代码放到业务功能上处理

补充:我不想把代码放到业务功能上处理
回复 支持 反对

使用道具 举报

发表于 2007-4-11 10:00:25 | 显示全部楼层
1/我觉得这样的号楼主可以不用自己来维护,用数据库自带的种子字段就可以了
http://bbs.justep.com/forum.php?mod=viewthread&tid=510
2/不想在功能层上,在文档上也是可以的,你把数据导航条直接放到文档上就可以了
http://bbs.justep.com/forum.php?mod=viewthread&tid=517
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-11 10:23:01 | 显示全部楼层

谢谢回复这么及时。问题:

谢谢楼上建议。
1.我的业务信息和文档都是继承的,这要需要改变父上的很多东西,另外的要想法是处理这个逻辑太分散。
2.我生成的编号是有序的,有特定意义的。
3.ApplyUpdates这个事是不是平台BUG,如果不是我还是倾向这样实现
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-11 10:43:03 | 显示全部楼层

谢谢楼上建议,还是...

谢谢楼上建议。
1.我的业务信息和文档都是继承的,这要需要改变父上的很多东西,另外的要想法是处理这个逻辑太分散。
2.我生成的编号是有序的,有特定意义的。
3.ApplyUpdates这个事是不是平台BUG,如果不是我还是倾向这样实现
回复 支持 反对

使用道具 举报

发表于 2007-4-11 11:34:13 | 显示全部楼层
我印象你这样的需求不能在 BeforeApplyUpdates 做这样的动作,这可以参考Delphi 的相关说明。

我再想想看看怎么办
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-4 18:13 , Processed in 0.061960 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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