ADO出现错误“无法定位行记录集,部分值可能在读取后改变” 经常莫明其妙地出现这种错误,这是怎么回事啊????! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、不要FITER和ADOQUERY1和TABLE。NEXT这种方式混用,会出现你上面这种情况2、记录录指针没有定位到有记录 Delphi是旧的,要下一个补丁才得 要注意的問題很多,如append時要填充default值.... 最好是你建一个主键什么的,或则索引,另外最好用adodateset, 1.build unique index2.use refresh after you operated the ADOtable or ADOquery3.go over your program source, and found the logical error.:) "即修改刚刚插入的记录,系统老是提示我无法为更新行集定位,一些值可能再最后读取时已改变"-----关键: 数据表中如果有Default值,而你新增(Append)后并未填写这些Default值: Post; (未填写这些Default值的栏位字段在AdoDataset中为Null,而DBMS中的栏位字段值自动设为: Default !!! 此时: Edit; Post;=====>(Null<>Default),Adodataset 发现有人更新了数据!! So: _______________________________________________ | | | 无法为更新行集定位,一些值可能再最后读取时已改变 | |_______________________________________________| 满意了吧? 应该要把ADO的CursorLocation设为clUseServerCursorType设为ctKeyset我想是因为本地数据与服务器的数据不同步的原因,这应该是ADO的BUG吧,如果把CursorLocation设为clUseServer就不会出现这样的问题了 "即修改刚刚插入的记录,系统老是提示我无法为更新行集定位,一些值可能再最后读取时已改变"-----关键:可能是表中有自增长字段,当你插入一条记录后如果用DBGRID的话它不会帮你维护这些自增长的字段, 所以不管你是基于主健更新(一般是自增长列)还是WHEREALL都会有更新的问题(针对刚插入的记录) 其实打开SQLMONITOR或者SQLSEVER的事件查看器看看一般都能找到问题之所在 导入Excel的问题 treeview问题:items级数不一致,能否让各个最后一级项目的index按顺序设置 如何获得access表中,表的说明(注释)和字段的说明(注释)??? 可口可乐公司的程序员能够有多少钱? 哪有photoshop中的魔棒算法? 大家快来看看! 我用来组织球迷踢足球的Websnap程序! 提点意见吧! 菜鸟求教一句代码的含义 如何才能实现小于1毫秒的定时器? 有关QuickRep的问题,(在线等!) 我的问题还是没有解决!编程实现ping的功能!谁解决了以下帖子的分数一并赠送! 这段代码哪儿写错了,谁能告诉我 问一个很基础但初学者都遇到的问题,请帮忙
2、记录录指针没有定位到有记录
2.use refresh after you operated the ADOtable or ADOquery
3.go over your program source, and found the logical error.:)
数据表中如果有Default值,而你新增(Append)后并未填写这些Default值:
Post;
(未填写这些Default值的栏位字段在AdoDataset中为Null,而DBMS中的栏位字段值自动设为: Default !!!
此时:
Edit;
Post;=====>(Null<>Default),Adodataset 发现有人更新了数据!!
So:
_______________________________________________
| |
| 无法为更新行集定位,一些值可能再最后读取时已改变 |
|_______________________________________________|
满意了吧?
CursorLocation设为clUseServer
CursorType设为ctKeyset
我想是因为本地数据与服务器的数据不同步
的原因,这应该是ADO的BUG吧,
如果把CursorLocation设为clUseServer
就不会出现这样的问题了
这些自增长的字段, 所以不管你是基于主健更新(一般是自增长列)还是WHEREALL都会有更新的问题(针对刚插入的记录)
其实打开SQLMONITOR或者SQLSEVER的事件查看器看看一般都能找到问题之所在