您可以擷取下列有關 QBIC 型錄的資訊:
您可使用 QbGetCatalogInfo API 來擷取使用者表格和直欄名稱、特性數目、以及自動編目設定。 使用 QbListFeatures API 來擷取特性名稱。
或使用 GET QBIC CATALOG INFO 指令來擷取所有資訊。
在擷取資訊之前,您必須開啟 QBIC 型錄。
使用 API:當使用 QbGetCatalogInfo API 時, 您必須指定 QBIC 型錄的 handle。您也需要指示 Image Extender 傳回型錄資訊的結構。 型錄資訊結構定義在 QBIC 併入 (標頭) 檔 dmbqapi.h 中,如下所示:
typedef struct{ char tableName[qbiMaxTableName+1] /* user table */ char columnName[qbiMaxColumnName+1] /* image column */ SQLINTEGER featureCount; /* number of features */ SQLINTEGER autoCatalog; /* auto catalog flag */ } QbCatalogInfo;
發出 QbListFeatures API 呼叫時,您需要配置緩衝區來保留傳回的特性名稱。緩衝區中儲存的 特性名稱是以一個空白字元來分隔。 您也需要為傳回的特性名稱指定緩衝區大小和型錄 handle。若須估計所需的緩衝區大小,可以 使用 QbGetCatalogInfo API 傳回的特性計數,乘以最長特性名稱的計數。您可使用常數qbiMaxFeatureName 作為最長特性名稱大小。
下列範例中的 API 呼叫,擷取有關 QBIC 型錄的資訊。 請注意 QbGetCatalogInfo API 如何傳回特性計數,以及 qbiMaxFeature 名稱常數如何被用來 計算 QbListFeatures API 的緩衝區大小:
long bufSize; long count; char *featureNames; QbCatalogHandle CatHdl; QbCatalogInfo catInfo; /* Get user table name, image column name, feature count, */ /* and auto catalog setting */ rc=QbGetCatalogInfo( CatHdl, /* catalog handle */ &catInfo); /* catalog info. structure */ /* List feature names */ bufSize=catInfo.featureCount*qbiMaxFeatureName; featureNames=malloc(bufSize); rc=QbListFeatures( CatHdl, /* catalog handle */ bufSize /* size of buffer */ count, /* feature count */ featureNames); /* buffer for feature names */
使用指令行:GET QBIC CATALOG INFO 指令可改變目前開啟的型錄。 在下列範例中,此指令用來擷取目前開啟的 QBIC 型錄相關資訊:
GET QBIC CATALOG INFO