Verwenden Sie die benutzerdefinierte Funktion (UDF) "Thumbnail", um ein für ein Abbild- oder Videoobjekt gespeichertes Piktogramm zu aktualisieren oder um ein Piktogramm hinzuzufügen, falls dem gespeicherten Abbild- oder Videoobjekt noch keines zugeordnet ist. Geben Sie bei der Verwendung der UDF "Thumbnail" die Kennung des Objekts, dessen Piktogramm aktualisiert werden soll, und den Inhalt des aktualisierten oder neuen Piktogramms an.
Generieren Sie das Piktogramm in Ihrem Programm; die Extender stellen keine APIs zur Verfügung, mit denen Piktogramme generiert werden können. Sie können die Größe und das Format des aktualisierten Piktogramms steuern. Erstellen Sie im Programm eine Struktur für das Piktogramm und geben Sie die Piktogrammstruktur in der UDF an.
Die folgenden Anweisungen in einem C-Anwendungsprogramm aktualisieren beispielsweise das einem gespeicherten Videoclip zugeordnete Piktogramm.
EXEC SQL BEGIN DECLARE SECTION; struct { short len; char data[10000]; }hvThumbnail; EXEC SQL END DECLARE SECTION; /*Create thumbnail and store in hvThumbnail*/ EXEC SQL UPDATE employee SET picture=Thumbnail( picture, :hvThumbnail) WHERE name='Anita Jones';
Sie können ein Piktogramm auch aktualisieren, wenn Sie ein Abbild- oder Videoobjekt mit vom Benutzer angegebenen Attributen aktualisieren. Wenn Sie ein Abbild- oder Videoobjekt mit vom Benutzer angegebenen Attributen aktualisieren, ist es sogar notwendig, daß Sie ein Piktogramm als Eingabe angeben. Geben Sie anstelle des Piktogramms einen Nullwert oder eine leere Zeichenfolge an, wenn Sie das Piktogramm beim Aktualisieren des Objekts nicht ebenfalls aktualisieren wollen.
Die folgenden Anweisungen in einem C-Anwendungsprogramm aktualisieren einen Videoclip mit vom Benutzer angegebenen Attributen sowie ein dem Videoclip zugeordnetes Piktogramm.
EXEC SQL BEGIN DECLARE SECTION; long hvStorageType; struct { short len; char data[400]; }hvVidattrs; struct { short len; char data[10000]; }hvThumbnail; EXEC SQL END DECLARE SECTION; hvStorageType=MMDB_STORAGE_TYPE_EXTERNAL; MMDBVideoAttrs *pvideoAttr; pvideoAttr=(MMDBVideoAttrs *)hvVidattrs.data; strcpy(pvideoAttr>cformat,"Formatv"); hvVidattrs.len=sizeof(MMDBVideoAttrs); /* Update video content and thumbnail */ EXEC SQL UPDATE EMPLOYEE SET VIDEO=REPLACE( VIDEO, '/employee/newvid/ajones.mpg', :hvStorageType, 'Anita''s new video', :VidAttrs, :hvThumbnail) /*thumbnail*/ WHERE NAME='Anita Jones';