Delphi + sqlite + UniDAC 如何执行一次执行多条update语句,用TUniQuery 做 Update,但是数据比较多,而且需要每条数据执行Update(不要问为什么),我用 Update  .... ; Update ... ; update ...; 这样组成一条sql语句,然后传给TUniQuery.sql,然后 TUniQuery.exesql,只能执行第一条 update,后面的update不被执行。
有什么技巧么?

解决方案 »

  1.   

    DELPHI就没用过sqlite,倒是在C#用过一次,采集数据的,.net自带一个SqlBulkCopy控件快速一次上传数万条记录用的,不知道DELPHI有没有其他好办法。
      

  2.   

    个人认为生成一条执行一条更方便快捷,而且可以及时了解执行情况和错误信息。
    如果真要这样做,详细楼主可参阅一下SQL运行脚本的格式。
      

  3.   

    “一次执行多条SQL语句”
    其实本质上仍是一条一条执行。如果你一定要把N条语句写在一起,
    你可以继承TUniQuery,写自己的TMyQuery,
    在TMyQuery将写在一起的SQL语句拆分,一条一条送给TUniQuery运行,
    对你来说,就是一次执行N条语句了。
      

  4.   

    印象中unidac有一个专门的脚本控件,执行多条sql应该用脚本
      

  5.   

    设置SQL字符串变量,用For循环组装,各update之间用分号连接,组装完毕后,一次性执行;建议,前后加入事务处理异常回滚效果
      

  6.   

    通过数条SQL语句,逐条更新。