Delphi ADO从SQL Server中舍入十进制值

我有一个表(MS SQL Server),其数据类型为decimal(18,8).
在我的应用程序中,我输入值0.000089并保存.
我用SQL Server Management Studio检查表,值是OK(0.00008000).
但是当我使用TADOQuery读取值时,它返回0.0001(总是舍入到4位小数位 – 0.123456789 – > 0.1235).我用TDataSource和TDBTable尝试TADOTable,也是ADOExplorer工具,结果是一样的.
问题出在哪儿?
最佳答案
禁用TADOQuery组件中的EnableBCD属性

当EnableBCD为true时,它可以支持4位小数.
当EnableBCD为false时,该字段将映射到TFloatField.

enter image description here

转载注明原文:Delphi ADO从SQL Server中舍入十进制值 - 代码日志