关于原生ADO数据更新问题 ( 积分: 100 )

  • 主题发起人 主题发起人 tjzxm08
  • 开始时间 开始时间
T

tjzxm08

Unregistered / Unconfirmed
GUEST, unregistred user!
var
rs: _Recordset;
begin
rs := qtTempADO.Recordset;
//qtTempADO 为ADOQuery控件,其LockType设为 ltBatchOptimistic
//CursorType 为 ctKeyset
with rs do begin
MoveFirst;
while not Eof do begin
if bCan then Break;//用户中断
Fields['qtValue'].Value := 3;//表中的一个标志位赋值
movenext;
end;
end;
if bCan then rs.CancelUpdate
else rs.UpdateBatch(arAll);
//此句编译不能通过提示Incompatible types: 'TOleEnum' and 'TAffectRecords'
rs := nil;
......
那位大侠能解答原生ADO的缓冲更新问题?
 
用 rs.UpdateBatch(rs.CursorLocation)倒是能通过,但更新速度奇慢,用原生
ADO就是要提高速度的,怎么解决呢?
 
好象要设置一个属性,记不清楚了
 
rs.UpdateBatch 就可以了吧
 
Note:
: To use batch updating, the CursorType property of the dataset component must be either ctKeySet (the default) or ctStatic and the LockType property must be ltBatchOptimistic
 
这个问题很难吗?
 
var
rs: _Recordset;
begin
rs := qtTempADO.Recordset;
with rs do begin
MoveFirst;
while not Eof do begin
if bCan then Break;//用户中断
Fields['qtValue'].Value := 3;//表中的一个标志位赋值
update;
movenext;
end;
end;
rs := nil;//这里我一般用Unassigned
 
为什么不用SQL语句来更新数据呢,,,速度快~
 
to newsmile:
update这句提示缺参数
to ch2001023:
Sql 更新后能撤销吗?
 
请看这张帖子 http://www.delphibbs.com/delphibbs/dispq.asp?lid=3047846
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
777
import
I
后退
顶部