画像をユーザー表に保管する際にイメージ・エクステンダーに画像を自動的にカタログさせるかどうかをカタログの作成時に指定します。 画像を自動的にカタログしない場合は、画像をユーザー表に保管した後で、それを手動でカタログしなければなりません。 手動でカタログする場合、単一の画像をカタログすることも、表全体の画像をカタログすることもできます。
手動で 1 つの画像をカタログするには、QbCatalogImage API を使用します。
コマンド行からは個別の画像を指定することができないので、コマンドで画像をカタログすることはできません。 API を使用する際には、カタログ・ハンドルと画像ハンドルを指定します (画像ハンドルはユーザー表から取り出せます)。 画像を手動でカタログする場合には、QBIC カタログがオープンされていなければなりません。
たとえば、次のステートメントでは、画像ハンドルをユーザー表から取り出し、続いてその画像をカタログします。
/* Retrieve the image handle */ EXEC SQL BEGIN DECLARE SECTION; char Img_hdl[251]; EXEC SQL END DECLARE SECTION; QbCatalogHandle CatHdl; EXEC SQL SELECT PICTURE INTO :Img_hdl FROM EMPLOYEE WHERE NAME='Anita Jones'; /* Catalog the image*/ rc=QbCatalogImage( CatHdl, /* catalog handle */ Img_hdl); /* image handle */
1 つの列全体の画像を手動でカタログするには、QbCatalogColumn API か CATALOG QBIC COLUMN コマンドを使用します。
イメージ・エクステンダーは、列が最後にカタログされて以降に新しく挿入、更新、削除された列の画像のみをカタログします。 イメージ・エクステンダーは、カタログのすべてのフィーチャーについてそれらの画像をカタログします。 列全体の画像を手動でカタログする場合には、QBIC カタログが更新用にオープンされていなければなりません。
API の使用: QbCatalogColumn API を使用する場合には、カタログ・ハンドルを指定します。 イメージ・エクステンダーは、指定されたカタログに対応するユーザー表の列の画像を使用します。
イメージ・エクステンダーは、指定されたカタログに対応するユーザー表の列の画像を使用します。 それらの画像は、カタログにあるすべてのフィーチャーに対してカタログされます。
QbCatalogHandle CatHdl; rc=QbCatalogColumn( CatHdl); /* catalog handle */
コマンド行の使用: 画像に関する 1 つの列を手動でカタログするには、CATALOG QBIC COLUMN コマンドを使用します。 このコマンドは画像の再カタログにも使用します (画像を再カタログする場合を参照)。 パラメーター FOR と NEW を使用してください。 (FOR と NEW は省略時パラメーターです。)
次の例では、このコマンドを使って、現在オープンされているカタログに対応する列の画像のうち、アンカタログのものをカタログします。 それらの画像は、カタログにあるすべてのフィーチャーに対してカタログされます。
CATALOG QBIC COLUMN FOR NEW