Access数据库双字段值无法正确保存

时间:2013-10-02 21:49:15

标签: .net database ms-access

我们有一个将XML文件转换为Access数据库的程序。几个月前,你的一个客户遇到了一个错误,一个表中2个字段的值与XML文件不一样,值是截断的。为了纠正这个问题,我们将这两个字段从Single改为Double,一切都很好。

今天,您的一位员工使用此新版程序并遇到其他错误。问题是当从XML文件中保存值时,它会发生变化。示例:XML文件中的值为3628.40,Access保存为3628,39990234375,当我们查询该值时,我们获得3628,39990234375。有没有办法让Access存储3628.40而不更改字段类型?

我知道问题不是来自程序,SQL Server转换将wright值保存在Double字段中。

2 个答案:

答案 0 :(得分:3)

您想要使用浮点数据类型的唯一时间是绝对精度不重要。这实际上非常罕见。

如果它很重要,正如您的客户指出的那样,那么您需要根据系统使用Decimal或Money类型。

答案 1 :(得分:-1)

我会查看数据存储在表中的位置,看看它是什么类型,并将其更改为货币或会计。会计提供更清晰的外观,更容易阅读,恕我直言。你没有提到你如何输出...一个Excel文档? Word报告?导出到SharePoint?

另外我猜它是导入时被截断的XML文件... Access只显示导入的值。原始值如何存储到XML文件中?数据输入端是否有任何变化?除非有人进去改变了什么,否则我认为你的数据库没有错。

从用户开始,观察输入过程并确保在弄乱数据库之前是正确的。只是一个想法。