ADO缓存状态下网络断开一会后恢复网络继续保存记录的问题 各位,想请教一个问题:Delphi ADO,SQL Server 2000,缓存模式(Lock type:ltBatchOptimistic),当数据正要保存的时候或者保存到一半的时候网络被断开了,之后又接通了,如果点保存的话会提示出错.请问这样的情况下该怎么样来保存数据,不会又要重新将数据录一遍吧?最好提供代码,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 代碼沒有,給個提示,如果你的網絡很不穩定時請參考一下:不要太依靠ADOConnection,把数据封装进对象中,对数据的修改新增全部真对对象中数据的修改,直到真正更新数据时才用ADOConnection连接,这样可以解决你的问题. ADO本身不能实现这功能,前段时间我也琢磨了好久了。答案是没办法不过通过DATASET.SAVETOFILE的方法再载入倒是可以实现功能太麻烦了。我都懒得去作。本来想用事务提交,在DS打开完就断开与ADO的连接这样ADO就可以自由打开关闭了,不过还是有问题。发现掉线后再上线再更新只更新最前面一条记录进去,其它的都不更新啦真郁闷。。、// 提交事务处理function TdmClient.commitUpdate(ADOCon:TADOConnection;DataSet:TCustomADODataSet): Integer;begin Result := 1; try DataSet.Connection := nil; ADOCon.Close; ADOCon.Open; DataSet.Connection := adocon; ADOCon.BeginTrans; DataSet.UpdateBatch; ADOCon.CommitTrans; except ADOCon.RollbackTrans; Result := 0; end;end; 难!!怎样将数据库读出的数据转换成视频来播放? source as tedit、source is tedit、tedit(source)这三者有何区别 关于SimpleDataSet.ApplyUpdates出错的问题 请教高手!一个程序错误,忘能给出解释!谢谢 如何使用这个API函数 数据库中如何求最大值的问题???? 如何禁止修改ComboBox的内容? 怎样实现用右键拖动无标题窗口 delphi txquery 只能运行简单sql 语句 各位老兄引路:怎样用delphi搞一个象oicq类似的东西(高分送上)??? 请高手帮忙 如何用程序实现截取屏幕某个区域????高手请指教!!!!
不要太依靠ADOConnection,把数据封装进对象中,对数据的修改新增全部真对对象中数据的修改,直到真正更新数据时才用ADOConnection连接,这样可以解决你的问题.
不过通过DATASET.SAVETOFILE的方法
再载入倒是可以实现功能太麻烦了。我都懒得去作。本来想用事务提交,在DS打开完就断开与ADO的连接这样ADO就可以自由打开关闭了,不过还是有问题。
发现掉线后再上线再更新只更新最前面一条记录进去,其它的都不更新啦
真郁闷。。、
// 提交事务处理
function TdmClient.commitUpdate(ADOCon:TADOConnection;DataSet:TCustomADODataSet): Integer;
begin
Result := 1;
try
DataSet.Connection := nil;
ADOCon.Close;
ADOCon.Open;
DataSet.Connection := adocon;
ADOCon.BeginTrans;
DataSet.UpdateBatch;
ADOCon.CommitTrans;
except
ADOCon.RollbackTrans;
Result := 0;
end;
end;