負數我有TADOQuery
一個巨大的問題:轉換與TADOQuery
這是我的SQL:
select cast(-10 as number(9)) foo, -10 bar
from dual
相反TBCDField,當你添加了「foo」的領域TIntegerField將被創建的,
procedure TCustomADODataSet.InternalInitFieldDefs;
if (F.Type_ = adNumeric) and (F.NumericScale = 0) and
(F.Precision < 10) then
FieldType := ftInteger;
功能:
因爲類型在該點變是不是在這一點上考慮信號:
ftAutoInc, ftInteger:
Integer(Buffer^) := lVal;
的tagVariant
爲TIntegerField的值是:
(14,32768,0,0,10,10,10,1.4012984643e- 44,4.9406564584e-323,True,10,0.001,4.9406564584e-323,,$ A,$ A,$ A,$ A,$ A,$ A,$ A,$ A,$ A,$ A,$ A,$ A,$ A',$ A,$ A,$ A,$ A,$ A,#10,10,10,10,$ A,$ A,$ A,$ A,$ A)
這與TBCDField相同:
(14,32768,0,0,10,10,10,1.4012984643e-44,4.9406564584e-323,真,10,0.001,4.9406564584e-323,$ A,$ A,$ A,$ A ,$ A,$ A,$ A,$ A,$ A,$ A,$ A,$ A,$ A'',$ A,$ A,$ A,$ A,$ A,#10,10, 10,10,10,$ A,,$ A,$ A,$ A,$ A)
foo值將是10,bar值將是-10。
這是一個錯誤?
有一個WorkAround?
它被修復了嗎?
我測試過使用Microsoft OLEDB提供程序的Oracle和Oracle提供程序的OLEDB。 所有測試已採用Delphi 6
有什麼建議?疑問? – EProgrammerNotFound 2013-04-24 23:02:48
我還沒有任何Oracle數據庫即將嘗試這個。 ;-) – 2013-04-24 23:23:37
@WarrenP :-(ok – EProgrammerNotFound 2013-04-24 23:26:22