Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 327893256547不是有效的BCD值_Delphi_Delphi 2009 - Fatal编程技术网

Delphi 327893256547不是有效的BCD值

Delphi 327893256547不是有效的BCD值,delphi,delphi-2009,Delphi,Delphi 2009,我在SQLServer2008中有一个数字(26,10)列“x”。当我尝试使用TADOQuery的FieldByName('x')读取列值时,我得到一个错误“327893256547不是有效的BCD值” “327893256547”是列值之一 这种情况只在某些计算机上发生。在这些计算机上,当我在区域设置中将windows设置“小数点后的位数”更改为9时,一切正常 我看到该列映射到ADOQuery中的TFMTBCDField BCD转换/格式是否有问题?我怎样才能解决这个问题呢 站台: Windo

我在SQLServer2008中有一个数字(26,10)列“x”。当我尝试使用TADOQuery的FieldByName('x')读取列值时,我得到一个错误“327893256547不是有效的BCD值”

“327893256547”是列值之一

这种情况只在某些计算机上发生。在这些计算机上,当我在区域设置中将windows设置“小数点后的位数”更改为9时,一切正常

我看到该列映射到ADOQuery中的TFMTBCDField

BCD转换/格式是否有问题?我怎样才能解决这个问题呢

站台:
Windows 7、Delphi 2009、SQL Server 2008。

当我尝试使用

ADOQuery1.FieldByName('YourField').AsString;
解决方法如下:

BCDToStrf(ADOQuery1.FieldByName('YourField').AsBCD,ffFixed,11,3) ;

Me帮助在Windows 7中,在“开始”>“控制面板”>“时钟、语言和区域”>“更改日期、时间和数字格式”中将小数点从逗号更改为点,或在逗号之间更改为点,或以其他方式来回更改数字和货币的小数点


很抱歉,我使用的是捷克语的Windows,默认小数点为逗号分隔符。有些标题是我翻译成英文的,所以不必精确。

听起来你的问题是小数分隔符-
vs
。另外,试试这个-@Eric:No.“,“小数分隔符不是问题。”。我查过了。它与小数点后的位数有关。为什么不直接使用FieldByName('x')。AsString然后在您这边处理转换?