在 MFC 的 CDaoRecordset 类中,GetBookmark 方法用于获取当前记录在记录集中的书签。该方法的定义如下:
CByteArray CDaoRecordset::GetBookmark();

GetBookmark 方法返回一个 CByteArray 对象,其中包含当前记录在记录集中的书签。书签是一个二进制数据块,可以用于标识和还原记录在记录集中的位置。

以下是一个简单的示例,演示如何使用 GetBookmark 方法:
CDaoDatabase myDatabase;
CDaoRecordset myRecordset(&myDatabase);

// 打开数据库连接
myDatabase.Open(_T("MyDatabase"));

// 执行查询
myRecordset.Open(dbOpenDynaset, _T("SELECT * FROM MyTable"));

// 移动到记录集的第一条记录
myRecordset.MoveFirst();

// 获取第一条记录的书签
CByteArray bookmark = myRecordset.GetBookmark();

// 判断书签是否有效
if (bookmark.GetSize() > 0) {
    // 打印书签
    TRACE(_T("Bookmark: %s\n"), (LPCTSTR)bookmark);
} else {
    // 记录集为空或者获取书签失败
    TRACE(_T("Failed to get bookmark.\n"));
}

// 关闭记录集和数据库连接
myRecordset.Close();
myDatabase.Close();

在这个示例中,MoveFirst 方法用于将记录集的当前位置移动到第一条记录,然后使用 GetBookmark 方法获取当前记录的书签。书签以二进制形式存储在 CByteArray 对象中。你可以根据需要在代码中适当调整移动和获取书签的操作。


转载请注明出处:http://www.zyzy.cn/article/detail/16534/MFC/CDaoRecordset