Important
此功能将在将来的 Windows 版本中删除。 避免在新开发工作中使用此功能,并计划修改当前使用此功能的应用程序。 Microsoft建议使用驱动程序的游标功能。
ODBC 光标库(Odbccr32.dll)支持任何符合 1 级 API 合规级别的驱动程序的块状滚动光标,开发者可随其应用程序或驱动重新分发。 光标库还支持对由 SELECT 语句生成的结果集进行定位更新和删除语句。 虽然它只支持静态和仅前进的光标,但光标库满足了许多应用的需求。 此外,它还能提供良好的性能,尤其适用于小到中等规模的结果集,以及缺乏良好光标支持的应用。
光标库是一个动态链接库(DLL),位于驱动程序管理器和驱动程序之间。 当应用程序调用函数时,驱动管理器调用光标库中的函数,该函数要么执行该函数,要么在指定的驱动程序中调用该函数。 对于给定的连接,应用程序会指定是否始终使用光标库、驱动程序不支持可滚动光标时使用,或从未使用。
光标库作为驱动出现在驱动管理器中。 如果光标库位于驱动程序管理器和 ODBC 2.x 驱动之间,则光标库会以 ODBC 2.x 驱动的形式出现。 如果光标库位于驱动管理器和 ODBC 3.x 驱动之间,则光标库会以 ODBC 3.x 驱动的形式出现。 光标库表现出的行为取决于其所使用的驱动版本,除了绑定偏移量,这在 ODBC 2.x 和 ODBC 3.x 驱动中都支持。
为了在 SQLFetch 和 SQLFetchScroll 中实现块光标,光标库会在驱动程序中反复调用 SQLFetch 。 为了实现滚动功能,它会缓存已检索到的数据到内存和磁盘文件中。 当应用程序请求新的行集时,光标库会根据需要从驱动程序或缓存中获取该行集。
为了实现定位式更新和删除语句,光标库构建UPDATE一个带有 WHERE 子句的 or DELETE 语句,指定行中每个绑定列的缓存值。 当它执行定位更新语句时,光标库会从行集缓冲区的值更新缓存。
有关ODBC光标库的更多信息,请参见本附录的以下部分: