我在SQL Server 2008中有一個數字(26,10)列「x」。當我嘗試使用TADOQuery的FieldByName('x')讀取列值.AsExtended,I出現錯誤「32,7893256547不是有效的BCD值」。32,7893256547不是有效的BCD值
「32,7893256547」是列值之一。
這隻發生在某些電腦上。在這些電腦上,當我將窗口設置「小數點後的位數」更改爲9時,一切正常。
我看到該列被映射到ADOQuery中的TFMTBCDField。
這是BCD轉換/格式化的問題嗎?我該如何解決這個問題?
平臺: Windows 7中的Delphi 2009,SQL Server 2008的
聽起來像你的問題是小數點分隔符 - ','和'.'。 – Eric 2012-07-06 08:41:00
http://qc.embarcadero.com/wc/qcmain.aspx?d=2741 – RBA 2012-07-06 08:42:46
另外,試試這個 - http://docwiki.embarcadero.com/Libraries/en/Data.Win.ADODB.TCustomADODataSet.EnableBCD – RBA 2012-07-06 08:43:54