高人指点:关于cardinal数据类型的数值存储到mysql数据库中问题
delphi7、mysql数据环境下,通过adoconnect进行mysql数据库读写操作
数据库中字段ip是 INT(10) unsigned 型
程序中变量ip1 是cardinal型变量,
通过adotable进行数据库操作时adotable.FieldByName('ip').Asinteger:=ip1; 如果ip1数值<2147483647数值时,程序正常可以存储,如果ip1数值大于2147483647时(比如:ip1:=3232235620),程序报错。我知道是数值溢出的问题,mysql数据库手工输入字段ip='3232235620'可以存储,我分析是adotable.FieldByName('ip').Asinteger是有符号整形数据类型问题,怎么能够解决?请高手指点,多谢!
ip1:=3232235620;
//FieldByName('ip').AsString:=inttostr(ip1));
FieldValues['ip']:=ip1