我做了一个软件,需要同步数据,目前使用的是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的连续更新。效率高,易备份。
谢谢大虾了!
要求:桌面型数据库,可以操作sql的连续更新。效率高,易备份。
谢谢大虾了!
adoconnection1.committrans
循环插入是没有问题,就是时间太长了
如果5000条记录,就要执行5000次的sql插入操作,我用的adocommand,
你说的adoconnection1.begintrans
adoconnection1.committrans
能不能给我一个例子呢?
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;
或者更换一个什么数据库才好
我用了Ado的updateBatch,时间虽然有了提高,我却无法激活onFetchProgress事件,我主要是想在updatebatch里可以显示进度条。怎么回事呢?我已经设置了adodataset为异步模式。
然后执行。
你试试用StringList装载SQL语句
然后sql.text := stringlist.text
execsql
Microsoft的桌面数据库引擎,免费的,常用功能和SQLServer差不多