ado数据库访问技术(100分)

  • 主题发起人 主题发起人 sjjwan
  • 开始时间 开始时间
S

sjjwan

Unregistered / Unconfirmed
GUEST, unregistred user!
我在数据保存到Access中去,用的是Ado控件。但我觉的速度太慢了。比如我现在有10000条记录的话,我是用一个For循环,如
for ii := 0 to 10000 do
begin
ADOQuery1.append;
ADOQuery1.fieldbyname('name').asstring := names;
ADOQuery1.post;
end;
这样的大概要几分钟,速度实在太慢了。
又如在读取时,也是太慢了。如:
for ii := 0 to 10000 do
begin
names := ADOQuery1.fieldbyname('name').asstring;
ADOQuery1.next;
end;
哪位高手帮我解决下,怎样才能提高速度。
 
你就写两个循环,让别人给你提高速度,没有别的要求?
说全;
如果单这样看,你要备份数据;
可以做两个类似的表;
比如第一个表是Table1
bh name sex ... //bh主键
第二个表为Table2
bh name //bh主键
你要备份的时个就
delete * from Table2
exesql;
insert into table2(bh,name) select bh,name from Table1
exesql;
应该快些;应该不用10秒吧!
 
单条导入导出肯定慢,你应该考虑批量导入导出
 
必须用SQL导入
 
循环是比较慢的,建议把多个记录做一个SQL语句更新,比如每500条一个SQL.
或者采用applydb的方法
 

Similar threads

回复
0
查看
703
万一
S
回复
0
查看
703
SUNSTONE的Delphi笔记
S
S
回复
0
查看
665
SUNSTONE的Delphi笔记
S
后退
顶部