这样使用缓存更新到底对不对!疑惑的…… 你有没有用updatesql?用了,把post删除,然后将fields[0].AsString:=Cardid; Tblobfield(fields[3]).loadfromfile(picpath); 放到append前,试试吧!不保证能解决问题! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对于query为什么只缓存最后一条记录,没有什么理论依据.不过可以告诉你另外一个方法.使用database的事务.可以达到你的效果.database1.StartTransaction;try //do what you want to do normally. database1.Commit;except database1.Rollback;end; 使用DATABASE我也知道的,不过我只是对一个数据集使用缓存更新,我觉得没有必要使用DATABASE吧! 我没有用updatesql!对单个的数据表进行缓存更新要用updatesql 吗?不用可以吗? 不用可以,但是一定要将requestlive设置为true,而且将applyupdates和commitupdates去了改为post,将fields[0].AsString:=Cardid; Tblobfield(fields[3]).loadfromfile(picpath);放到append前 qhdsfh(飞翔的鹰)能不能把代码贴出来!另外用说的方法可以实现缓存更新吗? if not query1.CachedUpdates then query1.CachedUpdates:=true;with query1 dobegin close; sql.clear; sql.Add('Select * from TempPic'); open; fields[0].AsString:=Cardid; Tblobfield(fields[3]).loadfromfile(picpath); append;if i=10 then begin post; i:=0; end;end;这样我不知道能否解决问题,但是缓存更新应该没有问题。 delphi 如何使用TByteDynArray 类型 如何用delphi打开一个ftp文件 如何执行资源中的EXE(在线等) 如何保存tif文件到数据库 类型转换问题,急急 好工作来找你了! 我的一个初学问题 如何从身份证号码中取出"出生日期"例如"5108128208116684"其中 82是年份08是月份11是天数! 一个10进制数转成16进制的函数!写好就给分! 怎么没有贴子 delphi网格控件dbgrid的一些疑问? 非高手莫入:(关于拨号)
不过可以告诉你另外一个方法.
使用database的事务.可以达到你的效果.
database1.StartTransaction;
try
//do what you want to do normally.
database1.Commit;
except
database1.Rollback;
end;
改为post,将fields[0].AsString:=Cardid;
Tblobfield(fields[3]).loadfromfile(picpath);放到append前
另外用说的方法可以实现缓存更新吗?
with query1 do
begin
close;
sql.clear;
sql.Add('Select * from TempPic');
open;
fields[0].AsString:=Cardid;
Tblobfield(fields[3]).loadfromfile(picpath);
append;
if i=10 then
begin
post;
i:=0;
end;
end;
这样我不知道能否解决问题,但是缓存更新应该没有问题。