一、学员问题描述:
VIP金卡会员:苏州--Luffy 11:05:23
请问老师,我用Access快速开发平台企业版开发的软件,后台数据库是SqlServer数据库表,在SQLServer表中数据储存的时候,小数位数是3或者4位,导出来小数点位太长了怎么解决?如下图:
二、解决方法:
经过沟通交流SqlServer数据库的表设计情况,发现是在SqlServer表里面使用了real单精度类型,经过实测,我们是不推荐使用单精度或者双精度字段类型的,相关介绍请参考:
建议尽量少用单精度、双精度数据类型的原因【Access软件网】
http://www.accessoft.com/article-show.asp?id=5458
在SqlServer中,数据类型 float 为双精度,real 为单精度,那么SqlServer数据库的表设计如果需要小数位数,我们应该选什么样的字段类型呢?
答案是建议使用Decimal或者money类型代替float双精度,real单精度;decimal可以设置小数点后的位数,如小数点后4位,整体长度18位这种设置,重新保存一下SqlServer表,再导出数据就是正常4位数小数了。参考SqlServer中表的小数位数设置图:
备 注:
直接修改SqlServer表结构是会提示不允许调整的,那么在不允许修改表结构的情况下,我们还需要修改SqlServer表结构,只需要在设置SqlServer工具选项属性里面设置一下:设计器→阻止保存要求重新创建表的更改,即可,如下图: