adoquery连接的临时表有几条记录如何批量更新目的表(50)

  • 主题发起人 极品铁观音
  • 开始时间

极品铁观音

Unregistered / Unconfirmed
GUEST, unregistred user!
在界面修改我是用临时表,改完之后几条记录要批量存盘(目的表与临时表结构一样)请问是不是还是要循环用:with adoquery1 do begin close; sql.clear; sql.add(update 目的表 set 字段1,字段2....);//字段太多写起来有点晕 execsql; end;我查过大侠们用什么UpdateBatch,是如何使用啊。请教了!!
 
First,you should read records from table to xml file. eg: 'adoquery1.savetofile('',pdfxml)'.And then,use another dataset read data from xml file,and modify records in the edit mode. eg: 'adoquery1.loadfromfile('.xml)'.The last,finish edit and commit records to database.
 
你是进口的?
 
你把ADOQUery1.LockType设定=ltBatchOptimistic这个类型,你就可以使用UpdateBatch(arAll)记录批量存盘了。
 
to yjhbeer: 能详细点吗,我是一点都不懂的。我的目的是把临时表的几条记录存到物理表(表结构一样的)的语句要怎么写?
 
WUSUBAR 的意思是说,你可以保存文件,下次直接从文件打开。可能他不太懂中文,没明白你的问题。 yjhbeer讲的做法是正确的,如果你需要打开一张表,让用户全部操作完成一次保存,只需修改ADOQUery1.LockType设定=ltBatchOptimistic,这时任何Query上的Insert或Append都不会直接操作Query所连接的表,而是要明确的调用UpdateBatch方法后才会一次批量修改。 由与你用的临时表,所以你就算用这种方法也只能做到批量更新临时表,而无法更新你的目的表(这就是画蛇添足的下场)。所以你只能用你现在的方法,循环写SQL更新吧.........
 
谢谢,知道了。
 

Similar threads

顶部