我做了一个软件,需要同步数据,目前使用的是ACCESS,但是它不支持SQL的事务,比如:Insert mytable(a,b,c……),values(av,bv,cv……) insert mytable(a,b,c……),values(av1,bv1,cv1……)……insert mytable(a,b,c……),values(avn,bvn,cvn……) 这样的更新sql能够连续执行,可是目前access用ado无法执行,每次只能执行单个sql。效率太低了。想求各位大人,给小弟推荐一个数据库。
要求:桌面型数据库,可以操作sql的连续更新。效率高,易备份。
谢谢大虾了!

解决方案 »

  1.   

    可以adoconnection1.begintrans
    adoconnection1.committrans
      

  2.   

    我用的开发语言是delphi 7
      

  3.   

    qizhanfeng(glacier)
    循环插入是没有问题,就是时间太长了
    如果5000条记录,就要执行5000次的sql插入操作,我用的adocommand,
    你说的adoconnection1.begintrans
    adoconnection1.committrans
    能不能给我一个例子呢?
      

  4.   

    dmData.adocnn.BeginTrans;
      try
        SaveMrn;
        SaveInList;
        dmdata.adoQryPmain.Post;
        dmdata.adoQryInlist.Post;
        showmessage('数据保存成功!');
        dmdata.adocnn.CommitTrans;
      except
      on e:exception do
        begin
        showmessage('数据保存失败成功!'+ e.Message);
        dmData.adocnn.RollbackTrans;
        end;
      end;
      

  5.   

    我现在不是要寻求事务操作,而是时间的问题,就是每条sql单独执行,修改为如何一次全部执行。
    或者更换一个什么数据库才好
      

  6.   

    老大们,我真的很急,给各建议吧.
    我用了Ado的updateBatch,时间虽然有了提高,我却无法激活onFetchProgress事件,我主要是想在updatebatch里可以显示进度条。怎么回事呢?我已经设置了adodataset为异步模式。
      

  7.   

    先将SQL一次性取出来,然后赋给sql.text
    然后执行。
    你试试用StringList装载SQL语句
    然后sql.text := stringlist.text
    execsql
      

  8.   

    MSDE
    Microsoft的桌面数据库引擎,免费的,常用功能和SQLServer差不多
      

  9.   

    sql server 2000啊,我们的都是要这个!这个应该满足你了