Delphi ADO 舍入来自 SQL 服务器的十进制值
Delphi ADO rounds decimal values from SQL Server
我有一个 Table(MS SQL 服务器),其字段的数据类型为 decimal(18,8)。
在我的应用程序中,我输入值 0.000089 并保存。
我用 SQL Server Management Studio 检查了 table 并且值正常 (0.00008000)。
但是当我使用 TADOQuery 读取值时,它是 return 0.0001(总是四舍五入到小数点后 4 位 - 0.123456789 -> 0.1235)。我用 TDataSource 和 TDBTable 尝试了 TADOTable,还有 ADOExplorer 工具,结果是一样的。
问题出在哪里?
禁用 TADOQuery
组件中的 EnableBCD
属性
当EnableBCD
为真时,可支持小数点后4位。
当 EnableBCD
为 false 时,该字段映射到 TFloatField
.
我有一个 Table(MS SQL 服务器),其字段的数据类型为 decimal(18,8)。 在我的应用程序中,我输入值 0.000089 并保存。 我用 SQL Server Management Studio 检查了 table 并且值正常 (0.00008000)。 但是当我使用 TADOQuery 读取值时,它是 return 0.0001(总是四舍五入到小数点后 4 位 - 0.123456789 -> 0.1235)。我用 TDataSource 和 TDBTable 尝试了 TADOTable,还有 ADOExplorer 工具,结果是一样的。 问题出在哪里?
禁用 TADOQuery
组件中的 EnableBCD
属性
当EnableBCD
为真时,可支持小数点后4位。
当 EnableBCD
为 false 时,该字段映射到 TFloatField
.