社区
数据库相关
帖子详情
马上结帖,急问?????
sunangel
2003-10-16 08:45:11
出现的错误信息是“无法为更新行集定位:一些值可能以在最后读取后改变”,老大,这是什么原因呀??
...全文
39
20
打赏
收藏
马上结帖,急问?????
出现的错误信息是“无法为更新行集定位:一些值可能以在最后读取后改变”,老大,这是什么原因呀??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunangel
2003-10-20
打赏
举报
回复
hmily1688、hongjg不要我也要给你们分。哈哈,接好了!
hmily1688
2003-10-18
打赏
举报
回复
猜测一下,你可能是这样delete的,你用的是sql 语句delete from where
而你直接用adotable.delete不就行了吗?这种问题出现的原因很多也不一样,不知道你是如何删除的,还有我遇到过一种情况,如果删除后这个table或query中有数据时不报错,但如果没有数据时报错,就是楼主的哪个错。后来我升级ado的版本就没有问题了。
天剑68
2003-10-18
打赏
举报
回复
hmily1688(流浪在中国)说得对,这个问题在ADO中经常出现,有触发器的问题,也有默认值的问题,但是大家还是应该把原因搞清楚。
delete再close、open是没有办法的办法。我也是这样做的,尤其是在ACCESS编程时。
hongjg
2003-10-18
打赏
举报
回复
我也不要分,只是碰到问题要讨论清楚对吧。
close再open是可以,但不是好办法,不止delete,edit也会出现问题的。
hmily1688
2003-10-18
打赏
举报
回复
如果单纯为了分我才懒得回答你的问题呢,
sunangel
2003-10-18
打赏
举报
回复
我也不知道是怎么回事,就是在Adotable在执行完delete后要close,再激活。我只是在下次delete前,加上了close,active而已,呵呵,就是这个样子的,就OK了!哈哈,你觉得你有分吗?
sunangel
2003-10-17
打赏
举报
回复
问题得到了解决,但是没有一位说对头,不过还是感谢大家的回答!^_^
hongjg
2003-10-17
打赏
举报
回复
是啊,有很多原因的。请贴出你的问题和解决办法啊?我以前碰到默认值和自增字段的问题。
huojiehai
2003-10-17
打赏
举报
回复
可能你的表没索引,最后加上索引试试
dickeybird888
2003-10-17
打赏
举报
回复
(@ $ @)
hmily1688
2003-10-17
打赏
举报
回复
你把怎么解决的贴出来啊,因为造成这种问题的原因不相同,有默认值的事,有触发器的事还有你主键没有设置 ,你把你如何解决的贴出来,让大家也都知道,以后碰到这种问题也好知道如何避免。
hmily1688
2003-10-16
打赏
举报
回复
你删除后用refresh试试
sunangel
2003-10-16
打赏
举报
回复
-----------------------------------------------------------------------------------------
我想可能是我用的ADOTABLE对象DELETE后没有更新的原因,但第一次不更新不会出错呀,第二次会出错,这是为什么???
-----------------------------------------------------------------------------------------
hmily1688
2003-10-16
打赏
举报
回复
这个问题是老问题
问题关键是在数据表中出现重复记录
当Delphi6.0刚刚推出来的时候,很多宣传资料说解决了这个问题,但是在最残酷的测试下,依然出现此问题!
最容易出现的地方是:当新增记录的时候,表里面添加了默认值,然后保存。因为Delphi默认不添加空的重复记录(当年FoxPro程序员转Delphi的时候被这个限制搞的头晕脑胀),但是只要有值就可以添加(大量出现在主从关系的从表中,关联字段默认添加),然后就死掉了!
所以你的触发器有点是在“FOR UPDATE”上,只有更新时触发,那么INSERT时如何处理,其实这个问题最容易出现在这里!
据我的使用及测试经验,一般解决方案有如下几点:
1、及时升级你的MDAC(目前是2.7 Refresh 2)及开发工具补丁,通过ADO方式连接数据库这是没有办法的办法,当然不会很彻底;
2、给数据库建立唯一索引,这种方法根据实际情况而定,因为很多情况下必须要添加自动递增字段,象有些基础资料数据库根本就不可取
3、比较好的办法,全部用手工控制不出现重复记录
一般情况下,控制方法主要有:
1、尽量不使用DB控件,尤其是DBNavigate控件,通过ADO的时候那玩意实在太弱智;
2、多数数据控制可以通过键值控制或者通过触发器控制!
angle097113
2003-10-16
打赏
举报
回复
把你的那段代码贴出来看看吧
会不会是没有主键的原因呢
sunangel
2003-10-16
打赏
举报
回复
我用的ADOCONNECTION和ADOTABLE
hmily1688
2003-10-16
打赏
举报
回复
由于所修改的记录与数据库所存在的记录冲突,导致更改失败(如其他用户已将记录删除),如果没有触发器,其实程序发生警告信息给Errors集合,但不终止程序运行,也不会出实时错误提示。如果你加上触发器,你所进行批更新包括从Deleted表中记录,即所有删除的记录,所有的更新请求都不存在(或已被其它用户删除),所以出现实时运行错误。
建议:用Ado对象Update方法代替UpdataBath试一试
hmily1688
2003-10-16
打赏
举报
回复
第一你的表中有没有默认值
zhoutian618
2003-10-16
打赏
举报
回复
把数据集的更新模式改成umKeyOnly啊。
UpdateMode吧。
记不清了。
你自己查一查吧。
是最后几个属性里面的。。。
sunangel
2003-10-16
打赏
举报
回复
所用的数据库为ACESS,不知道为什么,在操作时有时不会出现这个样子的错误,有出现?
C语言嵌入式Linux编程第7期:Linux内核常用的数据结构与面向对象思想
学习嵌入式一段时间了,开始学习Linux内核、驱动了,发现看不懂?看内核代码还是感觉很吃力,云里雾里? 本期课程主要侧重于数据结构基本功的学习和Linux内核中的面向对象思想。掌握了这两项技能,再去分析Linux内核...
php蝠衭厍桴埭钨,有没办法判断输入汉字的笔划数?
你的位置:问答吧-> JavaScript-> 问题详情有没办法判断输入汉字的笔划数?有没办法类似这个拼音输入法一样做一个判断输入汉字笔划数的程序?http://bbs.51js.com/viewthread.php?tid=430作者: 3690发布时间: 2003-03-10如何计算汉字的笔画数?http:...
如何制作离线tts?
tts->把文字转化为语音。 先把中文转化为拼音。 这个主要依靠1个字典,能把汉字和读音对应。 下面提供字典: 丂yu 丄shang 丅xia 丆shi 丏mian 丗shi 丟diu 丠qiu 両liang 丣you 並bing 丩jiu 丮ji 丯jie 丱kuang 丳chan 丵zhuo 丷ba 丼jing 乀fu 乁yi 乂yi 乆jiu 乊hu 乑yin 乕hu 乗sheng 乚yin 乛zhe 乢gai 乣jiu 乨shi 乪nang 乴xue 乵yan 乸na 乹qian 乿luan
何为编码 GBK 和 UTF8编码?GBK,GB2312与区位码有何关系?
何为GBK,何为GB2312,与区位码有何渊源? 区位码是早些年(1980)中国制定的一个编码标准,如果有玩过小霸王学习机的话,应该会记得有个叫做“区位”的输入法(没记错的话是按F4选择)。就是打四个数字然后就出来汉字了,什么原理呢。请看下面的区位码表,每一个字符都有对应一个编号。其中前两位为“区”,后两位为“位”,中文汉字的编号区号是从16开始的,位号从1开始...
Java面试宝典2013版
一. Java基础部分......................................................................................................2 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?.....2 2、Java有没有goto?........................
数据库相关
2,496
社区成员
88,445
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章