Visual foxpro FoxPro ERP投掷”一词;“数字溢出”;错误。不支持

Visual foxpro FoxPro ERP投掷”一词;“数字溢出”;错误。不支持,visual-foxpro,foxpro,Visual Foxpro,Foxpro,因此,我所在的一家公司有一个使用FoxPro 4或5的旧ERP系统。这个系统不受支持,所以我尝试使用我不具备的技能。我擅长服务器甚至网络,但不擅长编码。我附上了两个类似错误的链接,这两个错误发生在使用不同计算机的不同部门的两个不同用户身上。谢谢你的帮助 好吧,问题恰恰在于锡罐上写的是什么。看起来问题出在字段BODY.COST上。该字段将具有最大容量,例如N(12,2)将允许最多99999999.99的数字存储在其中 系统试图将大于定义容量的数字输入此字段。在这两种情况下都可以看到它是一个GAT

因此,我所在的一家公司有一个使用FoxPro 4或5的旧ERP系统。这个系统不受支持,所以我尝试使用我不具备的技能。我擅长服务器甚至网络,但不擅长编码。我附上了两个类似错误的链接,这两个错误发生在使用不同计算机的不同部门的两个不同用户身上。谢谢你的帮助


好吧,问题恰恰在于锡罐上写的是什么。看起来问题出在字段BODY.COST上。该字段将具有最大容量,例如N(12,2)将允许最多99999999.99的数字存储在其中

系统试图将大于定义容量的数字输入此字段。在这两种情况下都可以看到它是一个GATHER MEMVAR语句。此语句获取内存变量并使用它们更新数据库表。其中一个内存变量的最终数字大于用于存储它的数据库字段(看起来像BODY.COST)


除此之外,由于没有支持和源代码,您实际上只能查看用户试图发布的内容,看看这是否能为您提供任何线索。这是错误转储的范围还是那些只是片段?

消息表示您试图存储的值大于字段所能接受的值。Foxpro中的数字和浮点字段会出现这种情况。在这两条消息中,表被间接地别名为“BODY”,而有问题的字段是“COST”

作为解决方案,使用VFP5(不要使用更高版本-没有VFP4),可以将所有数字和浮点字段设置为货币或双精度数据类型。 货币具有很高的确定性,建议使用货币价值(不必是货币价值)。其范围为–922337203685477.5808至922337203685477.5807。该范围实际上高于数字/浮点字段所能支持的范围

如果您认为这个范围不够,那么可以使用double(比如-10^327到10^304-VFP的精度为15位,超出这个范围,您将失去精度)


我会选择货币。

谢谢你的意见。是的,我在SQL中遇到了类似的错误。我能够用Visual Studio打开MAIN4.PRG和SLSJRNL.PRG,并将信息保存到文本文件中。如果你不介意的话,我已经包含了指向该文件夹的Dropbox链接。再次感谢你的投入和帮助。