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

kmwy 2003-08-21 05:40:07
Access数据库
调用GotoBookmark时有时会出现异常,报“无效书签”错,不知为何?
...全文
252 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(。。。);

需成对使用,

检查你的书签是否已被覆盖?
AM-DeadLink是一个简单易用的管理浏览器书签的免费工具,它可以帮助你快速检测收藏夹中的无效书签和重复书签。AM-DeadLink能够检测包括Internet Explorer,Firefox,Opera,Netscape在内的所有主流浏览器的书签。该软件在检测时采用多线程扫描,因此检测的速度十分快。

  如果书签无效或重复,可以利用该软件直接删除。作为管理浏览器书签的工具,AM-DeadLink还提供了备份书签和用内置浏览器打开书签的功能。

一、检测无效书签

  首次使用AM-DeadLink时要先对所有书签进行一次检测扫描。在工具栏上点击“检查书签”按钮,AM-DeadLink开始使用默认的10线程测试书签(可以在“选项”对话框中修改扫描的线程数)。

  在测试的过程中,软件会把测试的结果实时地显示在“状态”列中(如图1),如果书签无效,软件还会在“错误”列中显示错误类型。测试扫描结束后,软件会用声音提示,接下来的工作,就是选择所有无效书签进行删除。通常情况下,点击“状态”列或“错误”列进行排序以便选择,但AM-DeadLink提供了更好的方法以便我们选择所有无效书签。在工具栏上点击“将所有无效书签排列在列表的顶部”按钮,AM-DeadLink就会将所有无效书签排列在窗口的最上面,使用鼠标,配合Shift键选择所有无效书签,点击工具栏上的“删除”按钮,所有无效书签就会被全部删除。



图1 正在检测标签


二、检测重复的书签

  在工具栏上点击“查找重复书签”按钮,AM-DeadLink就在窗口中只显示URL地址相同的书签(如图2)。接着点击工具栏上的“选择所有重复书签但保留一个不选”按钮,AM-DeadLink就会在保留一个书签不选的前提下选择其它相同书签。最后,点击工具栏上的“删除”按钮,选择的书签就被全部删除了。



图2 检测重复的标签

1,178

社区成员

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

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