前言
在數(shù)據(jù)庫(kù)的開(kāi)發(fā)過(guò)程中,經(jīng)常需要在數(shù)據(jù)庫(kù)中存儲(chǔ)一些備注信息,而這些備注信息的內(nèi)容一般較大,格式多樣-如有可能是語(yǔ)音文件、視頻文件、圖片文件、文本文件等,怎樣在PB中實(shí)現(xiàn)這些格式不同的備注文件的存取及預(yù)覽,一直是PB開(kāi)發(fā)人員比較關(guān)心的一個(gè)問(wèn)題,本文系統(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的基本概念
。牐燨LE是Object Linking Embedding(對(duì)象鏈結(jié)與嵌入)的縮寫(xiě),它可以使windows應(yīng)用程序共享數(shù)據(jù)和程序。
2、OLE控件
在PB中OLE控件是一個(gè)OLE對(duì)象的包容器,可以使用服務(wù)器應(yīng)用程序提供的功能和命令來(lái)編輯對(duì)象,也可以使用自動(dòng)化OLE交互,在程序中激活對(duì)象和向服務(wù)器應(yīng)用程序發(fā)送命令;在PB 的window畫(huà)板中的OLE控件允許用戶從多個(gè)應(yīng)用程序嵌入和鏈結(jié)組件
2.1建立和設(shè)置OLE控件
從window畫(huà)板中選擇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)卡來(lái)設(shè)置控件的屬性。
2.2 激活修改window畫(huà)板中的OLE對(duì)象
在OLE控件的彈出菜單中選擇open可以激活畫(huà)板中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)用程序中,在開(kāi)發(fā)過(guò)程中這些數(shù)據(jù)放在應(yīng)用程序的PBl庫(kù)中,當(dāng)生成應(yīng)用后,這些數(shù)據(jù)將存放在exe或PBd文件中,雖然在程序的運(yùn)行過(guò)程中可以修改,但修改的數(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)用程序。
2.4 OLE控件的激活方式
OLE控件的激活方式有offsite和in-place兩種激活方式,offsite激活方式是指在PB應(yīng)用程序的界面以外單獨(dú)打開(kāi)OLE對(duì)象,in-place激活方式是指PB應(yīng)用程序的界面的原位置打開(kāi)OLE對(duì)象。在數(shù)據(jù)窗口中的dbOLE默認(rèn)的是offsite激活方式,而window中的OLE默認(rèn)的激活方式是in-place。
在PB應(yīng)用程序中可以用命令
OLE_control.active(offsite) 或者OLE_control.active(in-place)設(shè)置OLE對(duì)象的以何種方式打開(kāi)。
2.5 設(shè)置和插入OLE對(duì)象
在程序運(yùn)行時(shí)可以用函數(shù):
OLE_control.insertfile(soucefile) 插入對(duì)象
OLE_control.objectdata = blobvar 設(shè)置對(duì)象
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |