We've got a table in an Oracle DB defined as:
CREATE TABLE AVALUES
(
ACODE VARCHAR2(4) NOT NULL,
ATYPE NUMBER NOT NULL,
ANAME VARCHAR2(50),
CREATED DATE DEFAULT SYSDATE
)
Within Delphi we have a query in an ADOQuery component akin to this which returns the value to our application:
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;
Deployed on many various client PCs this has worked fine for years, and nothing in our code has changed. On a few client PCs however it's recently started returning, say, 1.999999999969 instead of 2, which causes the application to crash. We've tried looking for the problem but it's very intermittent - connected via remote desktop to the client computer, we can't replicate it at all.
Any suggestions for things I can do to investigate this further? As it's intermittent and only happens on a few computers it's difficult to debug. I think it might be a problem with the Oracle client, but I'm not sure how we can actually verify that.
Thanks for any help.