用delphi读取出的oracle中的number类型的字段值为何不正确?解决方法

用delphi读取出的oracle中的number类型的字段值为何不正确?
我在oracle数据库中有个Number类型的字段,字段名叫:u_meterid,长度为12位,
现往u_meterid字段中写入了一个值:123456789010

但在前端我用delphi读取出的该值却是:-1097262574
请问这是为什么?
如何才能正常读出该值?
谢谢。

附delphi中我的读法:
s_u_meterid:Integer;
s_u_meterid:=dm.ADOqry.FieldByName( 'u_meterid ').AsInteger;
showmessage(inttostr(s_u_meterid);
s_u_meterid的值显示为:-1097262574

------解决方案--------------------
如果想得到一个这样的整数的话

s_u_meterid:Int64;
s_u_meterid:= StrToInt64(dm.ADOqry.FieldByName( 'u_meterid ').AsString);
showmessage(inttostr(s_u_meterid);