我用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值已经过亿,如果解决这个问题?
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值已经过亿,如果解决这个问题?
否则使用8位的bigint