Foxtable(狐表)用户栏目专家坐堂 → [求助]修改记录保存问题


  共有2985人关注过本帖树形打印复制链接

主题:[求助]修改记录保存问题

帅哥哟,离线,有人找我吗?
havent_bao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:34 积分:334 威望:0 精华:0 注册:2018/10/12 12:03:00
[求助]修改记录保存问题  发帖心情 Post By:2018/10/25 17:48:00 [只看该作者]

这个问题有点说不清楚,因为找不到原因。
我的表之间建立了一些关联,并且设置了事件(列重置)。有时候,我修改了部分记录后,关联数据找不到新加的数据,重置列也获取不到新数据。点存盘也还是这样。但如果关闭窗口会提示保存,再重新打开数据就正常了。
这让我觉得很奇怪,是不是与加载之类的有关?是否有别的办法,不用重新打开也能正常存盘/加载或获取数据?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111401 积分:567075 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/26 8:37:00 [只看该作者]

请上传具体实例说明

 回到顶部
帅哥哟,离线,有人找我吗?
havent_bao
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:34 积分:334 威望:0 精华:0 注册:2018/10/12 12:03:00
  发帖心情 Post By:2018/10/26 10:25:00 [只看该作者]

这不知道怎么传。我再描述一下吧:
A表为父,B表为子
改B表数据,A表中有一个事件触发从B表获取数据,就下面这一段:
Dim drs1 As List(of DataRow)  = DataTables("合同金额").SQLSelect("合同编号='" & e.DataRow("合同编号") & "'")
Dim Sum1 As Double = 0
For Each dr1 As DataRow In drs1
Sum1 = Sum1 + dr1("合同金额")
Next

        e.DataRow("合同金额") = Sum1
获取到的是旧数据,不是B表(合同金额)中修改后的数据。点过保存也还是一样。这时候关闭窗口,会提示是否保存修改。再重新打开一切正常获取。显然,是有什么东西没有保存。

其实现在看来就一张表好象也存在这个问题,就改完点保存,关闭窗口,会有提示保存。

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111401 积分:567075 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/26 10:37:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
havent_bao
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:34 积分:334 威望:0 精华:0 注册:2018/10/12 12:03:00
  发帖心情 Post By:2018/10/26 11:51:00 [只看该作者]

嗯,问题可以解决,还是很感谢。
这个考虑也的确是有这样的需求,但我对这个设计有疑问(只是建议考虑,并不需要回复):
1、改单价的时候不改变已经存在的订单(这个是有道理的,如果是订单这类需求),但重启就改了还是不应该的,如果是考虑已经生成的订单数据不变的问题,那就应该是重新启动还是不变。
2、即使第一个问题解决了,还是有问题,从订单的角度看,生成时的单价已经不存在了,没有历史可查,现在新单价表里已经是新数据没有老数据记录,如何证实旧订单上的价格是对的呢?从这个角度说,应该有修订记录,怎么实现就是你们的事情了。
:)

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111401 积分:567075 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/26 12:04:00 [只看该作者]

1、如果使用4的用法,重启后不会改数据,如果有就是您用法不正确。

2、这种是业务问题了,有很多方法可以解决,比如创建日志,创建历史表等等等。怎么实现就是你们的事情了

 回到顶部