數(shù)據(jù)庫(kù)工程師:在PB中用OLE存取blob類型數(shù)據(jù)(一)

字號(hào):

前言
    在數(shù)據(jù)庫(kù)的開發(fā)過程中,經(jīng)常需要在數(shù)據(jù)庫(kù)中存儲(chǔ)一些備注信息,而這些備注信息的內(nèi)容一般較大,格式多樣-如有可能是語(yǔ)音文件、視頻文件、圖片文件、文本文件等,怎樣在PB中實(shí)現(xiàn)這些格式不同的備注文件的存取及預(yù)覽,一直是PB開發(fā)人員比較關(guān)心的一個(gè)問題,本文系統(tǒng)的介紹了三種存取備注二進(jìn)制信息的方法。
    對(duì)備注二進(jìn)制信息的存儲(chǔ)可以采用以下三種方式;
    方法一:文件保存在固定的路徑下,數(shù)據(jù)庫(kù)中存取文件路徑和名稱
    方法二:數(shù)據(jù)庫(kù)中用blob類型或者varbinary類型字段存儲(chǔ)備注文件
    方法三:在本地用OLE存儲(chǔ)結(jié)構(gòu)存儲(chǔ)備注文件
    1、OLE的基本概念
    OLE是Object Linking Embedding(對(duì)象鏈結(jié)與嵌入)的縮寫,它可以使windows應(yīng)用程序共享數(shù)據(jù)和程序。
    2、OLE控件
    在PB中OLE控件是一個(gè)OLE對(duì)象的包容器,可以使用服務(wù)器應(yīng)用程序提供的功能和命令來編輯對(duì)象,也可以使用自動(dòng)化OLE交互,在程序中激活對(duì)象和向服務(wù)器應(yīng)用程序發(fā)送命令;在PB 的window畫板中的OLE控件允許用戶從多個(gè)應(yīng)用程序嵌入和鏈結(jié)組件
    2.1建立和設(shè)置OLE控件
    從window畫板中選擇OLE控件插入window。
    當(dāng)建立一個(gè)OLE控件并且插入一個(gè)對(duì)象時(shí),PB將激活服務(wù)器應(yīng)用程序以允許對(duì)對(duì)象進(jìn)行編輯和修改;在使OLE中的對(duì)象稱為非活動(dòng)狀態(tài)后,可以使用控件屬性選項(xiàng)卡來設(shè)置控件的屬性。
    2.2 激活修改window畫板中的OLE對(duì)象
    在OLE控件的彈出菜單中選擇open可以激活畫板中OLE對(duì)象
    使用服務(wù)器應(yīng)用程序修改OLE對(duì)象
    結(jié)束修改:使對(duì)象恢復(fù)為非活動(dòng)狀態(tài),只要單擊服務(wù)器應(yīng)用對(duì)象之外的任何區(qū)域即可,也可以直接關(guān)閉服務(wù)器應(yīng)用程序的窗口。
    2.3 嵌入和鏈結(jié)OLE控件
    可以將OLE對(duì)象嵌入或者鏈結(jié)到自己的應(yīng)用程序中。嵌入對(duì)象的數(shù)據(jù)放在應(yīng)用程序中,在開發(fā)過程中這些數(shù)據(jù)放在應(yīng)用程序的PBl庫(kù)中,當(dāng)生成應(yīng)用后,這些數(shù)據(jù)將存放在exe或PBd文件中,雖然在程序的運(yùn)行過程中可以修改,但修改的數(shù)據(jù)不會(huì)保存;鏈結(jié)對(duì)象的數(shù)據(jù)存放在PB應(yīng)用程序以外,當(dāng)鏈結(jié)一個(gè)對(duì)象時(shí),在PB應(yīng)用程序中不存放數(shù)據(jù)文件,而是存放引用數(shù)據(jù)的指針, 使用鏈結(jié)的數(shù)據(jù),對(duì)數(shù)據(jù)的管理和保存都由服務(wù)器應(yīng)用程序負(fù)責(zé)。這樣可以用服務(wù)器應(yīng)用程序修改處理數(shù)據(jù),處理后的數(shù)據(jù)可以保存回原文件中。鏈結(jié)方式應(yīng)用于需要多個(gè)應(yīng)用程序共享的數(shù)據(jù)文件,任何一個(gè)應(yīng)用程序修改了數(shù)據(jù)文件,都將影響到所有鏈結(jié)該文件的應(yīng)用程序。