先用select * from ....
把数据取出来,在作循环,用
var
filenum,rownum: integer;
begin
filenum:=0;
rownum:=0;
while not query1.eof do
begin
if rownum=50000 then
begin
rownum:=0;
query2.close;
query2.sql.text:='create table ....//表名起的时候用 tablename+inttostr(filenum);
query2.open;
query2.appendrecord[...
end;
query2.appendrecord[...
query1.next;
end;
end;
把数据取出来,在作循环,用
var
filenum,rownum: integer;
begin
filenum:=0;
rownum:=0;
while not query1.eof do
begin
if rownum=50000 then
begin
rownum:=0;
query2.close;
query2.sql.text:='create table ....//表名起的时候用 tablename+inttostr(filenum);
query2.open;
query2.appendrecord[...
end;
query2.appendrecord[...
query1.next;
end;
end;
其实我的数据源是一个根据几十个表建立的视图,
总共有两亿多条记录,转换成dbf可能需要10G左右的空间,
也要都先取出来吗?那我的机器加上虚拟内存也装不下呀,
能不能实现边取边存呢?我硬盘足够大的