小弟正在做一个数据库分发程序,将数据库的记录保存为文本文件
adoquery.sql.text:='select * from table1 order by FNum'
adoquery.open;
for i:=1 to 10 do
begin
cchange:=tstringlist.create;
for m:=1 to 3
begin
for j:=1 to 10000
if m=1 then
cchange.add(adoquery.fieldbyname('num1'))
else
cchange.string[j]:=cchange.string[j]+','+adoquery.fieldbyname('num1');
end;
cchange.savetofile('c:\'+inttostr(i)+'.txt);
cchange.free;
end;
开始的时候速度很快,但速度越来越慢,有什么办法可以提速呀,存储过程就不用了,代码算法求教。
可不可以,在SQL里面每次只提3*10000,然后关闭后,再打开数据库中下一个3*10000条记录,或者,先一次性的将数据库记录全转为文本文件,然后再对文本文件做分割。
adoquery.sql.text:='select * from table1 order by FNum'
adoquery.open;
for i:=1 to 10 do
begin
cchange:=tstringlist.create;
for m:=1 to 3
begin
for j:=1 to 10000
if m=1 then
cchange.add(adoquery.fieldbyname('num1'))
else
cchange.string[j]:=cchange.string[j]+','+adoquery.fieldbyname('num1');
end;
cchange.savetofile('c:\'+inttostr(i)+'.txt);
cchange.free;
end;
开始的时候速度很快,但速度越来越慢,有什么办法可以提速呀,存储过程就不用了,代码算法求教。
可不可以,在SQL里面每次只提3*10000,然后关闭后,再打开数据库中下一个3*10000条记录,或者,先一次性的将数据库记录全转为文本文件,然后再对文本文件做分割。
解决方案 »
- BusinessSkinForm皮肤 字体颜色问题
- indy10.5.5,SSL,Delphi2010,请帮忙给我那两个DLL文件
- 如何在拖放过程中改变鼠标的光标?
- 送分题~~~
- 请教一下 将几个C语言的函数声明转成Delphi的声明!
- CSDN活过来了,今天再散200分收山,马上结帖,接分要快(前五名)。
- 请问:var,type,function,procedure,public,private 这些都是什么意思? 有什么作用?
- 怎么取得如下目录路径 ?
- splash窗口->登陆窗口->主窗口,应该怎么做,使之分别逐个显示?
- 请教各位!!
- 导出EXCEL不能计算
- 一个关于窗口的边框问题.在线等,解决立即给分.
begin
ADOConnection1.Execute(
'SELECT * INTO [myTable.txt] IN "C:\path" "Text;" FROM table1 ORDER BY FNum');
end;説明:先用「TADOConnection」控件連接好数据库、再修正"C:\path"為実際路径。