ddelphi7,ORACLE数据库中ID值已经超过9位数字,如何处理。。。
我用ADO控件,发现
while not ADOQuery2.Eof do
begin
RawID := ADOQuery2.FieldByName('id').AsInteger;
SqlStr := 'delete from d_blogger b where b.id = ' + IntToStr(RawID)
+ ' and b.c_sort = ' + '''' + '普通' + '''';
with ADOQry_Del do
begin
Close;
Sql.Clear;
Sql.Add(SqlStr);
try
ExecSQL;
except
Memo2.Lines.Add('ID: ' + IntToStr(RawID));
Memo2.Lines.Add('');
ADOQuery1.Next;
Continue;
end;
end;
ADOQuery2.Next;
end;
上面的RawID已经超过Float的类型大小范围,也就是说ID值已经过亿,如果解决这个问题?
[解决办法]
D7没法解决这个问题,请使用别的高级版本!
[解决办法]
如果id无须按大小排序,建议使用字符型
否则使用8位的bigint,一般数据库都支持,对应delphi中的Int64数据类型