附录 F:ODBC 游标库

重要

此功能将在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 若要实现滚动,它会缓存它在内存和磁盘文件中检索的数据。 当应用程序请求新的行集时,游标库会根据需要从驱动程序或缓存中检索它。

为了实现定位的更新和删除语句,游标库使用 WHERE 子句构造 UPDATEDELETE 语句,该子句指定行中每个绑定列的缓存值。 当它执行定位更新语句时,游标库会从行集缓冲区中的值更新其缓存。

有关 ODBC 游标库的详细信息,请参阅本附录的以下部分: