我们在 Oracle DB 中有一个表,定义为:
CREATE TABLE AVALUES
(
ACODE VARCHAR2(4) NOT NULL,
ATYPE NUMBER NOT NULL,
ANAME VARCHAR2(50),
CREATED DATE DEFAULT SYSDATE
)
在 Delphi 中,我们在 ADOQuery 组件中有一个类似于此的查询,它将值返回给我们的应用程序:
with qryComp do
begin
Close;
SQL.Text :=
'SELECT ATYPE FROM AVALUES ORDER BY CREATED';
Open;
while not EOF do
begin
AddComponents('NAME' + FieldByName('ATYPE').AsString);
Next;
end;
Close;
end;
部署在许多不同的客户端 PC 上多年来一直运行良好,我们的代码中没有任何变化。但是,在一些客户端 PC 上,它最近开始返回1.999999999969而不是2,这会导致应用程序崩溃。我们已经尝试寻找问题,但它非常断断续续 - 通过远程桌面连接到客户端计算机,我们根本无法复制它。
对于我可以做些什么来进一步调查这个问题有什么建议吗?由于它是间歇性的,并且仅在少数计算机上发生,因此很难调试。我认为这可能是 Oracle 客户端的问题,但我不确定我们如何才能真正验证这一点。
谢谢你的帮助。