“无效书签”错是怎么回事?

kmwy 2003-08-21 05:40:07
Access数据库
调用GotoBookmark时有时会出现异常,报“无效书签”错,不知为何?
...全文
247 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
seamansoft 2003-09-28
  • 打赏
  • 举报
回复
不好意思,是:ADOQuery1->FreeBookmark(bmPos);
seamansoft 2003-09-28
  • 打赏
  • 举报
回复
这种情况一般出现在删除最后一条记录。我的解决方法是
TBookmark bmPos = ADOQuery1->GetBookmark();
...
try
{
ADOQuery1->GotoBookmark(bmPos);
}
catch(...)
{
ADOQuery1->Last();
}
ADOQuery1->FreeBookmark();
CACACACACA 2003-09-28
  • 打赏
  • 举报
回复
我先用ValidBookmark判断后再调用的GotoBookmark,有时仍然出错!

我是在AfterDelete事件处理中做的这个事情。
你不会是把书签所定位的记录删了吧。
最好把你的那段代码贴出来。

guanshangming 2003-09-28
  • 打赏
  • 举报
回复
我也遇到过,通常是数据库给别的程序或程序的另外一部分代码更改数据后,就可能会遇到非法书签的问题,后来,我在GotoBookmark之前,先Refresh一下,就行了
kmwy 2003-09-27
  • 打赏
  • 举报
回复
自己顶
kmwy 2003-08-24
  • 打赏
  • 举报
回复
我先用ValidBookmark判断后再调用的GotoBookmark,有时仍然出错!

我是在AfterDelete事件处理中做的这个事情。
windlyzhang 2003-08-22
  • 打赏
  • 举报
回复
GetBookmark();
FreeBookmark();
GotoBookmark()
都与数据库没有关系,而只是与你的dataset控件有关,你可以测试一下,在调用getBookmak()后,滚动数据到另一条纪录,然后再调用gotobookmak(),看看能不能成功,一般只要你使用的方法正确,应该不会出错!
kmwy 2003-08-22
  • 打赏
  • 举报
回复
没有覆盖,有时候没问题,有时候又有问题
xizhouhawk 2003-08-21
  • 打赏
  • 举报
回复
同意楼上
MikeWKL 2003-08-21
  • 打赏
  • 举报
回复
可能是定义的问题。
netsys2 2003-08-21
  • 打赏
  • 举报
回复
GetBookmark();

和FreeBookmark(。。。);

需成对使用,

检查你的书签是否已被覆盖?

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧