Image、Audio 及 Video Extenders 管理與程式設計

更新具有使用者提供之屬性的物件

當您更新連同使用者提供之屬性一起儲存的影像、音效或視訊物件時, 您必須指定更新內容的屬性。請在某個屬性結構中指定屬性值。 屬性結構必須儲存在 UDF 之 LONG VARCHAR FOR BIT DATA 變數的資料欄位中。

伺服器上的 UDF 碼會預期資料為"big endian 格式"。Big endian 格式是大部 份 UNIX 平台使用的格式。 若使用"little endian 格式"儲存某物件,您必須準 備使用者提供的屬性資料,以便伺服器上的 UDF 碼能夠正確處理該物件。 Little endian 格式是通常用於 Intel 和其它微處理器平台的格式。 (即使您沒有使用 little endian 格式儲存物件,仍然建議您準備使用者提供的屬性資料。) 使用 DBiPrepareAttrs API 來準備影像物件的屬性。 使用 DBaPrepareAttrs API 來準備音效物件的屬性。 使用 DBvPrepareAttrs API 來準備視訊物件的屬性。

例如,下列在 C 應用程式中的陳述式會更新其內容是在伺服器檔案中的影像。 該影像具有使用者定義的格式:高 640 圖點、寬 480 圖點。請注意: 要在更新影像之前準備屬性。

EXEC SQL BEGIN DECLARE SECTION;
     long hvStorageType;
  struct {
       short len;
         char data [400];
       }hvImgattrs;
  EXEC SQL END DECLARE SECTION;
 
DB2IMAGEATTRS    *pimgattr;
 
hvStorageType=MMDB_STORAGE_TYPE_INTERNAL;
 
pimgattr = (DB2IMAGEATTRS *) hvImgattrs.data;
strcpy(pimgattr>Format,"FormatI");
pimgattr>width=640;
pimgattr>height=480;
hvImgattrs.len=sizeof(DB2IMAGEATTRS);
 
DBiPrepareAttrs(pimgattr);
 
EXEC SQL UPDATE EMPLOYEE
       SET PICTURE=REPLACE(
                 PICTURE,
        '/employee/newimg/ajones.bmp',
        :hvStorageType,
                 'Anita''s new picture',
                 :ImgAttrs,                     /*user-supplied attributes*/
          CAST(NULL as LONG VARCHAR))
       WHERE NAME='Anita Jones';


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]