設定を自動カタログから手動カタログに、または手動から自動に変更するには、QbSetAutoCatalog API または SET QBIC AUTOCATALOG コマンドを使用します。
カタログ設定を変更するためには、QBIC カタログが更新用にオープンされていなければなりません。
変更はさかのぼっては行われません: 自動カタログ設定を変更しても、その変更は、その変更後にユーザー表の列に追加された画像にしか適用されません。 ユーザー表の列にすでに格納されている画像は影響を受けません。 たとえば、設定を手動カタログから自動カタログへ変更した場合、その変更後にユーザー表の列に追加された画像だけが自動的にカタログされます。 表の列にすでに格納されている画像をカタログするには、それらを手動でカタログする必要があります。 (画像を手動でカタログする方法については、画像を手動でカタログする場合を参照してください。)
API の使用: QbSetAutoCatalog API を使用する場合には、QBIC カタログのハンドル (QbOpenCatalog API を使用してカタログをオープンすると戻されます) を指定します。 さらに、自動カタログの場合は、自動カタログの値として 1 を、手動カタログの場合は値 0 をそれぞれ指定します。
次の例では、従業員表の写真列の画像に対応する QBIC カタログに対し、手動カタログが指定されます。 QBIC カタログはまず更新操作用にオープンされます。
SQLINTEGER mode; SQLINTEGER autoCatalog=0; /* manual cataloging */ QbCatalogHandle *CatHdl; mode=qbiUpdate; /* open catalog for */ /* update */ /* Open a QBIC catalog */ rc=QbOpenCatalog( "employee", /* user table */ "picture", /* image column */ mode, /* open catalog mode */ &CatHdl); /* catalog handle */ /* Change the auto catalog setting */ rc=QbSetAutoCatalog( CatHdl, /* catalog handle */ autoCatalog); /* auto catalog flag */
コマンド行の使用: SET QBIC AUTOCATALOG コマンドを出すと、ON を指定すれば自動カタログが指定されます。 OFF を指定すれば、手動カタログが指定されます。 このコマンドは、現在オープンされているカタログに対して作用します。
たとえば、次のコマンドでは、現在オープンされている QBIC カタログの自動カタログをオフに設定します。
SET QBIC AUTOCATALOG off