我现在有如下的程序sqltext_1,sqltext_2,sqltext_3都是insert操作的sql语句
 我用的是access+adoquery
 ADoquery.Close;
 ADoquery.SQL.Clear;
 ADOquery.SQL.Add(sqltext_1);
 ADOquery.ExecSQL; ADoquery.Close;
 ADoquery.SQL.Clear;
 ADOquery.SQL.Add(sqltext_2);
 ADOquery.ExecSQL; ADoquery.Close;
 ADoquery.SQL.Clear;
 ADOquery.SQL.Add(sqltext_3);
 ADOquery.ExecSQL;
如果顺序执行速度太慢,有什么代码可以连续批量的执行啊,谢谢!!

解决方案 »

  1.   

    这样应该可以,不过没有测试:请楼主试试:
    ADoquery.Close;
     ADoquery.SQL.Clear;
     ADOquery.SQL.Add(sqltext_1 + sqltext_2 + sqltext_3);
     ADOquery.ExecSQL;注意sqltext_1,sqltext_2,sqltext_3两端要留空格
      

  2.   

    ADOquery.SQL.Add(sqltext_1 + sqltext_2 + sqltext_3);
    是啊,一句可以写好多
    不过没试过最大能写多少
      

  3.   

    我是想用存储过程,但是access哪有什么存储过程嘛
      

  4.   

    不行的,ADOquery.SQL.Add(sqltext_1 + sqltext_2 + sqltext_3);这样会报告错误的,我的环境是adoquery与access,高手在哪里啊???
      

  5.   

    我觉得这样执行不会很慢,慢是因为大量insert的原因。
    可以考虑改Sql语句为Insert into Select Col from Table
      

  6.   

    用事务处理
    AdoQuery1.BeginTrans // 开始事务
    AdoQuery1.CommitTrans // 提交事务
    AdoQuery1.RollbackTrans //取消事务
      

  7.   

    如果在access中可能没有什么太好的方法
    只有一条一条语句的来,
      

  8.   

    Insert多条数据速度是慢啊,但没办法,只能一条条插入吧,偶也是这样做的。忍
      

  9.   

    瓶颈在Access端,你看看吧索引什么的全部去掉。如果不行就只有改用其他数据库了。