ExeSQL是直接执行SQL语句,而与CachedUpdates没有任何关系。
CachedUpdates是指对TTable或TQuery中的已修改的数据进行缓存,直到调用
ApplyUpdates.
ApplyUpdates是对TQuery或TTable中已修改,但为提交的数据进行提交,
并且只有在TQuery或TTable对象的CachedUpdates=True且Active=True,
State=dsbrowse时才能调用。
TQuery的CachedUpdates必须陪合TUpdateSQL控件才能使用。
例如:
Query1.SQL.Text:='select field1,field2 from table1';
Query1.CachedUpdates:=True;
Query1.UpdateObject:=UpdateSQL1;
UpdateSQL1.InsertSQL:='insert table1(field1,field2) values (:field1,:field2)';
UpdateSQL1.deleteSQL:='delete from table1 where field1=:field1,field2=:field2';
UpdateSQL1.ModifySQL:='update table1 set field1=:field1,field2=:field2 where field1=:old_field1 and field2=:old_field2;
Query1.Open;
Query1.First;
while not Query1.Eof do begin
Query1.Edi