用ADO连接数据库,不管是用Query还是Table操作数据库,总是不时的出如下错误…… 为什么? 总觉得ADO使用起来比BDE麻烦多了,不知各位的感觉如何! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不呀。ADO很好的。出现这种错误是你的ADO没有升级。你也可以在ADO的数据集空件关闭时,让其到First 或Last如:ADODataSet1.First 不是麻烦.这是很出名的BUG..装上两个补丁就行了. 你给你的delphi打补丁了吗?打一个试一下 谢谢各位,上面的问题升级后解决了,但是另外一个问题还是存在:我用一个Query和Grid相连,当用Delete删除一条记录时,总是提示: “ 无法为更新定位行,一些值可能已在最后一次读取后已更改” 其实数据库中已经删除了,但是Grid没有刷新,为什么?怎么解决呢? 在afterDelete事件中写:Query.Close;Query.Open; yyb2000(三流编程机器) 的方法无效!因为出错前根本就不会触发此事件 早期版本的ADO有这个BUG,只有数据库表为空时会出现这钟情况,因此你在操作表之前先用 isempty()函数判断一下表是否为空,如果为空不要进行对于数据库的操作。另外一种办法升级ADO版本。 这不是ADO的问题,而是表结构的问题:你要删除的记录肯定还有其它相同的。因此在删除的时候定位到不止一条记录,这时就会出错!你把表索引好就没问题了。 冤枉啊,cdkogh(xp++)大哥,表里就那么几条记录,怎么可能呢!? 如果是重复记录,也不是出来这个错误的 timer 怎么用 可以实现下面功能呢? 关于ADOQuery的操作问题,急~!!! 界面问题 adoquery的问题 关于用delphi做一个sql server的登陆窗口的问题 DBgrid的问题, DelPhi 能不能调出VB中标识符自动识别的功能? 如何获取表的字段名及字段类型? 用delphi能编游戏吗? 请高手指点!!!谢谢! Access数据库的简单问题2 请教专家如何将DBGRID中修改过的数据写回数据表(用SQL实现)?
出现这种错误是你的ADO没有升级。
你也可以在ADO的数据集空件关闭时,让其到First 或Last
如:ADODataSet1.First
装上两个补丁就行了.
谢谢各位,上面的问题升级后解决了,但是另外一个问题还是存在:我用一个Query和Grid相连,当用Delete删除一条记录时,总是提示: “ 无法为更新定位行,一些值可能已在最后一次读取后已更改” 其实数据库中已经删除了,但是Grid没有刷新,为什么?怎么解决呢?
Query.Close;
Query.Open;
isempty()函数判断一下表是否为空,如果为空不要进行对于数据库的操作。另外一种办法升级ADO版本。
冤枉啊,cdkogh(xp++)大哥,表里就那么几条记录,怎么可能呢!?
如果是重复记录,也不是出来这个错误的