负数我有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