马上结帖,急问????? 出现的错误信息是“无法为更新行集定位:一些值可能以在最后读取后改变”,老大,这是什么原因呀?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 所用的数据库为ACESS,不知道为什么,在操作时有时不会出现这个样子的错误,有出现? 把数据集的更新模式改成umKeyOnly啊。UpdateMode吧。记不清了。你自己查一查吧。是最后几个属性里面的 由于所修改的记录与数据库所存在的记录冲突,导致更改失败(如其他用户已将记录删除),如果没有触发器,其实程序发生警告信息给Errors集合,但不终止程序运行,也不会出实时错误提示。如果你加上触发器,你所进行批更新包括从Deleted表中记录,即所有删除的记录,所有的更新请求都不存在(或已被其它用户删除),所以出现实时运行错误。 建议:用Ado对象Update方法代替UpdataBath试一试 这个问题是老问题问题关键是在数据表中出现重复记录当Delphi6.0刚刚推出来的时候,很多宣传资料说解决了这个问题,但是在最残酷的测试下,依然出现此问题!最容易出现的地方是:当新增记录的时候,表里面添加了默认值,然后保存。因为Delphi默认不添加空的重复记录(当年FoxPro程序员转Delphi的时候被这个限制搞的头晕脑胀),但是只要有值就可以添加(大量出现在主从关系的从表中,关联字段默认添加),然后就死掉了!所以你的触发器有点是在“FOR UPDATE”上,只有更新时触发,那么INSERT时如何处理,其实这个问题最容易出现在这里!据我的使用及测试经验,一般解决方案有如下几点:1、及时升级你的MDAC(目前是2.7 Refresh 2)及开发工具补丁,通过ADO方式连接数据库这是没有办法的办法,当然不会很彻底;2、给数据库建立唯一索引,这种方法根据实际情况而定,因为很多情况下必须要添加自动递增字段,象有些基础资料数据库根本就不可取3、比较好的办法,全部用手工控制不出现重复记录一般情况下,控制方法主要有:1、尽量不使用DB控件,尤其是DBNavigate控件,通过ADO的时候那玩意实在太弱智;2、多数数据控制可以通过键值控制或者通过触发器控制! -----------------------------------------------------------------------------------------我想可能是我用的ADOTABLE对象DELETE后没有更新的原因,但第一次不更新不会出错呀,第二次会出错,这是为什么???----------------------------------------------------------------------------------------- 我也不知道是怎么回事,就是在Adotable在执行完delete后要close,再激活。我只是在下次delete前,加上了close,active而已,呵呵,就是这个样子的,就OK了!哈哈,你觉得你有分吗? 我也不要分,只是碰到问题要讨论清楚对吧。close再open是可以,但不是好办法,不止delete,edit也会出现问题的。 hmily1688(流浪在中国)说得对,这个问题在ADO中经常出现,有触发器的问题,也有默认值的问题,但是大家还是应该把原因搞清楚。delete再close、open是没有办法的办法。我也是这样做的,尤其是在ACCESS编程时。 猜测一下,你可能是这样delete的,你用的是sql 语句delete from where 而你直接用adotable.delete不就行了吗?这种问题出现的原因很多也不一样,不知道你是如何删除的,还有我遇到过一种情况,如果删除后这个table或query中有数据时不报错,但如果没有数据时报错,就是楼主的哪个错。后来我升级ado的版本就没有问题了。 hmily1688、hongjg不要我也要给你们分。哈哈,接好了! 模式窗体 返回值异常 delphi 怎么自动生成单号?? 怎样模拟按键W一直按下 遇到一个quickreport难题,希望这方面的高手帮帮我 有没人知道南京金思维怎么样啊? 连接超时?SELECT 记录可以,DELETE记录不行。 dbgrid显示问题??急用?、 一个让我疑惑的问题!相信对大家有帮助! 在edit1的edit1keydown事件中为何不能向应button1.click事件??? 一个关于MaskEdit的问题? 关于dbgrid的,谢谢 關于動態產生tmonthcalendar使用的問題﹖
UpdateMode吧。记不清了。
你自己查一查吧。
是最后几个属性里面的
建议:用Ado对象Update方法代替UpdataBath试一试
我想可能是我用的ADOTABLE对象DELETE后没有更新的原因,但第一次不更新不会出错呀,第二次会出错,这是为什么???
-----------------------------------------------------------------------------------------
close再open是可以,但不是好办法,不止delete,edit也会出现问题的。
delete再close、open是没有办法的办法。我也是这样做的,尤其是在ACCESS编程时。
而你直接用adotable.delete不就行了吗?这种问题出现的原因很多也不一样,不知道你是如何删除的,还有我遇到过一种情况,如果删除后这个table或query中有数据时不报错,但如果没有数据时报错,就是楼主的哪个错。后来我升级ado的版本就没有问题了。