DBGrid中的数据为什么编辑后,离开所在行,就会自动更新呢? DBGrid中的数据为什么编辑后,离开所在行,就会自动更新呢?我想让它必须点击一个按键才能更新,怎么实现呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 to hotzhu(非洲白脸) 怎么实现“属性缓存更新”请给出具体代码,谢谢 你用的是ado之类的引擎把,没缓冲机制。 将LockType属性改为 ltBatchOptimistic 你把dbgrid的option中rowselected设置为true那样你就不可以编辑单元格了,或者Dbgrid的datasource中autoedit属性设置为false; 用ADO的话将LockType属性改为 ltBatchOptimistic用BDE的话,把query和一个updatesql相连,然后把cachupdate设置为true就好了 说过了:将LockType属性改为 ltBatchOptimistic!!! ado的BatchUpdate模式下面就是进入BatchUpdate模式的必要设定:1 设定CursorType为KeySet或Static。2 设定LockType为BatchOptimistic。3 执行的SQL命令必须是Select。除此之外,CursorLocation也是程序员必须考虑的设定。虽然在Microsoft的文件中说明,BatchUpdate可以使用Server-SideCursor或Client-SideCursor。但是,如果使用BatchUpdate再搭配Server-SideCursor,那么不但无法使用Briefcase模型,在执行效率上也不好。4 设定CursorLocation为clUseClient。当ADO进入BatchUpdate模式时,所有对于数据的修改都是暂存在客户端中。当客户端决定把数据真正更新回数据源中时,可以调用TADODataSet、TADOQuery、TADOTable或TADOStoredProc组件的UpdateBatch方法。而UpdateBatch方法接受一个参数,这个参数代表客户端要把哪些修改的数据更新回数据源中。下面是UpdateBatch方法的原型:procedure UpdateBatch(AffectRecords:TAffectRecords=arAll);UpdateBatch方法的参数说明如下;arAll:更新所有修改的数据更新回数据库。arCurrent:只把目前记录的修改数据更新回数据库。arFiltered:只把符合过滤条件的数据更新回数据库arAllChapters:更新所有被影响的Chapters;注:arAll只表示更新所有自己当时修改的数据。数据库可同时被其他人使用,而其他人对数据库的修改也同时生效,自己对数据库的修改不会影响其他人对数据库的操作(除非都是修改的同一字段,此时同一字段将以最后一次的修改结果为准)。 ADO LockType属性改为 ltBatchOptimistic保存写 ADOdataSet.UpdateBatch取消写 ADOdataSet.CancelBatch用BDE的话,把query和一个updatesql相连,然后把cachupdate设置为true就好了同理 请教象素问题? 一个简单问题高分求解…………!! 谁知道哪里有ComponentDesigner.dcu 下载,等着救命 如何点击左键弹出快捷菜单? help -dxTreelist中的排序 Socket连接的安全问题! 懂获得文件流的高手请进来拿分 新年+过年,各位新年好+过年好(有点早),散分了。 急急急///我是个新手,请多关照,用哪个函数取得在web浏览器中的每个链接的字符串,在线等待,立即兑现。 有没这样的控件? 请问qixin000(小齐) ****寻求delphi兼职****
怎么实现“属性缓存更新”请给出具体代码,谢谢
那样你就不可以编辑单元格了,
或者Dbgrid的datasource中autoedit属性设置为false;
用BDE的话,把query和一个updatesql相连,然后把cachupdate设置为true就好了
下面就是进入BatchUpdate模式的必要设定:
1 设定CursorType为KeySet或Static。
2 设定LockType为BatchOptimistic。
3 执行的SQL命令必须是Select。
除此之外,CursorLocation也是程序员必须考虑的设定。虽然在Microsoft的文件中说明,BatchUpdate可以使用Server-SideCursor或Client-SideCursor。但是,如果使用BatchUpdate再搭配Server-SideCursor,那么不但无法使用Briefcase模型,在执行效率上也不好。
4 设定CursorLocation为clUseClient。
当ADO进入BatchUpdate模式时,所有对于数据的修改都是暂存在客户端中。当客户端决定把数据真正更新回数据源中时,可以调用TADODataSet、TADOQuery、TADOTable或TADOStoredProc组件的UpdateBatch方法。而UpdateBatch方法接受一个参数,这个参数代表客户端要把哪些修改的数据更新回数据源中。
下面是UpdateBatch方法的原型:
procedure UpdateBatch(AffectRecords:TAffectRecords=arAll);
UpdateBatch方法的参数说明如下;
arAll:更新所有修改的数据更新回数据库。
arCurrent:只把目前记录的修改数据更新回数据库。
arFiltered:只把符合过滤条件的数据更新回数据库
arAllChapters:更新所有被影响的Chapters;
注:arAll只表示更新所有自己当时修改的数据。数据库可同时被其他人使用,而其他人对数据库的修改也同时生效,自己对数据库的修改不会影响其他人对数据库的操作(除非都是修改的同一字段,此时同一字段将以最后一次的修改结果为准)。
保存写
ADOdataSet.UpdateBatch
取消写
ADOdataSet.CancelBatch
用BDE的话,把query和一个updatesql相连,然后把cachupdate设置为true就好了
同理