起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7197|回复: 13

[结贴] 更新模式是WHERE_VERSION时,必须有version

[复制链接]

11

主题

45

帖子

94

积分

初级会员

Rank: 2

积分
94
QQ
发表于 2015-3-17 17:57:44 | 显示全部楼层 |阅读模式
在w文件中将数据列表的direct-edit属性设置为true,允许用户实时编辑数据,但是实际操作编辑后保存报错:更新模式是WHERE_VERSION时,必须有version,保存数据失败!请问是为什么出错?应该如何解决?

2.JPG


1.JPG
发表于 2015-3-17 18:00:36 | 显示全部楼层
数据表必须有version字段
回复 支持 反对

使用道具 举报

11

主题

45

帖子

94

积分

初级会员

Rank: 2

积分
94
QQ
 楼主| 发表于 2015-3-17 18:10:30 | 显示全部楼层
我是通过数据库表反向生成的实体,还必须在数据库中加一个version字段吗?

还有一个问题,我点击“新建”,想新加一条记录,结果提示
JUSTEP150146, 设置将列"EMP"的值为"3395AF44361D4C44A4CDFEF1B534D1DB"时出错,新增数据失败! 详细
这又是怎么回事?
回复 支持 反对

使用道具 举报

94

主题

1141

帖子

2380

积分

金牌会员

Rank: 6Rank: 6

积分
2380
发表于 2015-3-17 18:41:34 | 显示全部楼层
概念中的关系和数据库表都加上version字段,默认值为0
回复 支持 反对

使用道具 举报

11

主题

45

帖子

94

积分

初级会员

Rank: 2

积分
94
QQ
 楼主| 发表于 2015-3-17 18:42:38 | 显示全部楼层
jason2014 发表于 2015-3-17 18:41
概念中的关系和数据库表都加上version字段,默认值为0

不破坏原有数据库结构不可以实现吗?
请问为什么要加一个version字段?
不能更新也是因为没有这个字段的原因吗
回复 支持 反对

使用道具 举报

94

主题

1141

帖子

2380

积分

金牌会员

Rank: 6Rank: 6

积分
2380
发表于 2015-3-17 18:45:17 | 显示全部楼层
mizuho_2006 发表于 2015-3-17 18:42
不破坏原有数据库结构不可以实现吗?
请问为什么要加一个version字段?
不能更新也是因为没有这个字段的原 ...

为什么要加这个要起步的人回答比较好。version保存的相当于是这条数据的版本,默认为0,相当于原始数据,数据更新后平台会为version字段的值自动加1

评分

参与人数 1 +2 收起 理由
jishuang + 2 赞一个!

查看全部评分

回复 支持 反对

使用道具 举报

11

主题

45

帖子

94

积分

初级会员

Rank: 2

积分
94
QQ
 楼主| 发表于 2015-3-17 18:47:54 | 显示全部楼层
jason2014 发表于 2015-3-17 18:45
为什么要加这个要起步的人回答比较好。version保存的相当于是这条数据的版本,默认为0,相当于原始数据, ...

谢谢您的解答。也就是说只要对数据库进行非查询操作,都必须在表里增加这个version字段,对吧?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2015-3-18 08:50:17 | 显示全部楼层
平台中有两种关于数据更新时的模式:whereAll和whereVersion模式,默认:whereVersion;

如果是whereAll模式当你使用其他手段修改数据库数据后,当data在save时使用旧值做where条件就不可能更新成功;
如果是whereVersion模式当你使用其他手段修改数据库数据version的值,同样道理data的save也不能成功;

whereVersion更新数据时使用key和version作为条件更新,使用data的save时平台会自动维护version,也就是是说在更新语句中会做version+1,当version变化时说明数据已经被人修改,当前更新失败回滚
whereAll模式使用所有查询列的旧值做更新的条件,当条件不满足就说明数据已经被人修改,当前更新失败回滚
平台的bizData默认使用whereVersion

如果没有version就把data的update-type设置为whereAll
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

11

主题

45

帖子

94

积分

初级会员

Rank: 2

积分
94
QQ
 楼主| 发表于 2015-3-18 09:23:49 | 显示全部楼层
jishuang 发表于 2015-3-18 08:50
平台中有两种关于数据更新时的模式:whereAll和whereVersion模式,默认:whereVersion;

如果是whereAll模 ...

谢谢!已经正常了。
回复 支持 反对

使用道具 举报

11

主题

45

帖子

94

积分

初级会员

Rank: 2

积分
94
QQ
 楼主| 发表于 2015-3-18 10:12:51 | 显示全部楼层
jishuang 发表于 2015-3-18 08:50
平台中有两种关于数据更新时的模式:whereAll和whereVersion模式,默认:whereVersion;

如果是whereAll模 ...

在新添数据的时候,还会提示
JUSTEP150146, 设置将列"EMP"的值为"F119D024A12140D1BF3955FEFCAAE7A3"时出错,新增数据失败!

请问这个应该如何解决呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-18 19:03 , Processed in 0.098266 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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