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

QQ登录

只需一步,快速开始

查看: 15957|回复: 16

[处理中3] ksql update 小数计算有问题

[复制链接]

106

主题

294

帖子

801

积分

高级会员

Rank: 4

积分
801
QQ
发表于 2018-6-19 17:30:16 | 显示全部楼层 |阅读模式
版本: 其它(帖子中说明) 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
ksql update 小数计算有问题
update t_wm w set w.count = (w.count- :count) where w.number =number and w.mb=:mb

发现w.count 原有值为 1.125,上述KSQL执行 ,  参数为 0.1, 减完之后数据库里发现值为 1 ,而不是1.025

还有 另一个KSQL 类似上面
原 w.count 值为 8.125 ,执行两次KSQL,第一次参数为 0.1 ,第二次参数为1,执行两次后,该值数据库中为 6.9,而不是 7.025

数据类型均为 Decimal类型,

之前看到帖子说是产品缺陷,现在还是有这个问题存在,bex5 V3.6版本

http://bbs.wex5.com/forum.php?mo ... %8F%E6%95%B0&page=2

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-6-19 17:45:20 | 显示全部楼层
可以先用sql实现
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

106

主题

294

帖子

801

积分

高级会员

Rank: 4

积分
801
QQ
 楼主| 发表于 2018-6-27 11:22:00 | 显示全部楼层
本帖最后由 qbyytec 于 2018-6-27 11:23 编辑

用了SQL的方式也出现了同样的问题:
sql = "update t_wm set count = (count - ?)  where w_number = ? and m_number = ? ";
pstmt = conn.prepareStatement(sql);
                               pstmt.setObject(1, 0.1);
                                pstmt.setObject(2, "abc");
                                pstmt.setObject(3, "a22");
                                pstmt.execute();


回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-6-27 11:53:11 | 显示全部楼层
自己写一个java用jdbc的方式调用用问题吗?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

106

主题

294

帖子

801

积分

高级会员

Rank: 4

积分
801
QQ
 楼主| 发表于 2018-6-27 13:57:48 | 显示全部楼层
用的平台事务,如下
java.sql.Connection conn = null;
            java.sql.PreparedStatement pstmt = null;
            com.justep.system.data.Transaction tx = null;  
            try{
                    tx = new com.justep.system.data.Transaction();
                    conn = tx.getConnection(dataModel);
                    .................
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-6-27 14:54:00 | 显示全部楼层
用setBigDecimal看看

写一个java用jdbc的方式调用测试看看是否有问题
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

106

主题

294

帖子

801

积分

高级会员

Rank: 4

积分
801
QQ
 楼主| 发表于 2018-6-27 14:58:26 | 显示全部楼层
都试过了,问题还存在
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-6-27 15:07:35 | 显示全部楼层
写一个java用jdbc的方式调用也有问题?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

106

主题

294

帖子

801

积分

高级会员

Rank: 4

积分
801
QQ
 楼主| 发表于 2018-6-27 15:13:15 | 显示全部楼层
是的
回复

使用道具 举报

106

主题

294

帖子

801

积分

高级会员

Rank: 4

积分
801
QQ
 楼主| 发表于 2018-6-27 15:13:55 | 显示全部楼层
本帖最后由 qbyytec 于 2018-6-27 15:17 编辑

您能先自己测试一下吗? 希望能直接的给到解决方案
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-13 15:04 , Processed in 0.066070 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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