需要打开 QBIC 目录才可执行更改目录的后续操作。例如, 在将特性添加至目录之前,需要打开 QBIC 目录。
要打开 QBIC 目录,使用 QbOpenCatalog API 调用或 OPEN QBIC CATALOG 命令。
目录已打开怎么办?若在另一对话中已为更新操作打开目录, 则不能为更新操作打开该目录。当您打开 QBIC 目录时,Image Extender 关闭当前对话中已打开的任何 QBIC 目录。
使用 API:使用 QbOpenCatalog API 时, 明确地指定要打开目录的方式。指定:
QbiRead 和 QbiUpdate 是 QBIC 的包含(首标)文件 dmbqbapi.h 中定义的常量。
还需要指向目录句柄。目录句柄具有 QBIC 特有的数据类型 QbCatalogHandle。此数据类型也是在 dmbqbapi.h 中定义的。Image Extender 返回句柄值作为 API 的输出。
例如,以下 API 调用打开 QBIC 目录以执行读操作:
SQLINTEGER mode; QbCatalogHandle *CatHdl; mode=qbiRead; /* open catalog for */ /* read operations */ rc=QbOpenCatalog( "employee", /* user table */ "picture", /* image column */ mode, /* open catalog mode */ &CatHdl); /* catalog handle */
使用命令行:当您发出 OPEN QBIC CATALOG 命令时, Image Extender 尝试为更新操作打开目录。若另一对话中当前已为更新操作打开该目录, 则 Image Extender 为读操作打开该目录。
例如,以下语句打开 QBIC 目录:Image Extender 尝试为更新操作打开它:
OPEN QBIC CATALOG employee picture
当与 QBIC 相关的活动完成时,关闭目录:当您打开 QBIC 目录时,Image Extender 对其分配资源,如内存。当与 QBIC 相关的活动完成时,关闭目录。这将释放分配的资源。