Delphi ADO从SQL Server舍入十进制值

Delphi ADO从SQL Server舍入十进制值,delphi,decimal,ado,Delphi,Decimal,Ado,我有一个表(MS SQL Server),其中包含数据类型为decimal(18,8)的字段。 在我的应用程序中,我输入值0.000089并保存它。 我向SQLServerManagementStudio检查该表,其值为OK(0.00008000)。 但是当我使用TADOQuery读取值时,它返回0.0001(总是四舍五入到4位小数-0.123456789->0.1235)。我用TDataSource和TDBTable尝试了TaToTable,同时使用了ADOExplorer工具,结果是一样的。

我有一个表(MS SQL Server),其中包含数据类型为decimal(18,8)的字段。 在我的应用程序中,我输入值0.000089并保存它。 我向SQLServerManagementStudio检查该表,其值为OK(0.00008000)。 但是当我使用TADOQuery读取值时,它返回0.0001(总是四舍五入到4位小数-0.123456789->0.1235)。我用TDataSource和TDBTable尝试了TaToTable,同时使用了ADOExplorer工具,结果是一样的。 问题出在哪里?

禁用
t查询组件中的属性

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


谢谢!现在我发现该字段被确定为BCD,并将开始搜索原因。@MadDog,你可以通过向上投票并接受答案来感谢他。噢,对不起。我做了,请读