IDE TDataset returns TFloatFields instead of TIntegerFields

I am writing an application that can be run in any SQL Environment, ie
ORACLE or INTRBASE or MSSQL.

I have written a query that gets data from 3 tables and makes 1 table out
of it using the union clause.

if I run the query :

select SITE.SITE_LINK,ACCOUNT.ACCT_LINK from SITE,ACCOUNT
  where SITE.SITE_LINK = ACCOUNT.SITE_LINK

when I use the fields editor to add the fields from the query and create
objects for them, Delphi creates Integer Fields for these type no matter
which SQL Server I am Using. {fine}.

But if I do this query :

select SITE.SITE_LINK,ACCOUNT.ACCT_LINK from SITE,ACCOUNT
  where SITE.SITE_LINK = ACCOUNT.SITE_LINK
union
Select SITE.SITE_LINK,METER.METER_LINK from SITE,METER
  Where SITE.SITE_LINK = METER.METER_LINK

IntrBase will return both columns as Integer {Fine}
ORACLE Returns these columns as TFloatFields {NOT FINE}

I Need ORACLE to Give me TIntegerFields in Unions! I cant find a way od
doing it!
Can Anybody help PLEASE?

As I dont want to have to re-write the code to account for different SQL
Servers when SQL is supposed to be platform independant never mind Machine
independant.