我的以下保存数据代码
with adoquery1 do
     for I:=1 to 1000 do
     begin
         append;
         fields[1].AsString:=Items[I];
     end;
     post;
加1000条数据要二十多秒,太慢了,哪位大侠知道更好的办法?

解决方案 »

  1.   

    不会吧?那么久?是不是电脑有问题?改为SQL语句试试
      

  2.   

    for I:=1 to 1000 do
         begin
             insert;
             fields[1].AsString:=Items[I];
             post;     end;
      

  3.   

    应该不用这么久,最好用SQL语句.
      

  4.   

    差不多  for I:=1 to 1000 do啊
      

  5.   


         for I:=1 to 1000 do
         begin
          insert table field1 values (Items[I]);
         end;
      

  6.   

    用sql语句
    with adoquery2 do
         close;
         sql.clear
         for I:=1 to 1000 do
         begin
             qsl.add('INSERT INTO ...Values ... go')
         end;
         exsql;
    ...你自己写sql语句。  
    这样可以快很多
      

  7.   

    ADO应该不会那么慢,不知你是否用了第三方数据感知控件?
      

  8.   

    如果有数据感知控件,如dbgrid先关闭刷新功能,完成后再打开
      

  9.   

    为什么如果用select * into aaa from bbb 2-3秒就做出一个数据文件。但用insert或append就很慢呢?
      

  10.   

    不要每次都post,用ltBatchOptimistic 模式