• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      關(guān)于VB 與Access 中圖片的存取問(wèn)題

      2014-04-29 21:09:46錢曉燕
      中國(guó)信息技術(shù)教育 2014年22期
      關(guān)鍵詞:對(duì)象

      錢曉燕

      摘 要:在數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中,經(jīng)常需要對(duì)圖片進(jìn)行處理,包括圖片在數(shù)據(jù)庫(kù)中的直接存儲(chǔ)和只將圖片地址存儲(chǔ)于數(shù)據(jù)庫(kù)中兩種存儲(chǔ)方式。本文主要論述了圖片的存儲(chǔ)方式、讀取方式,它們各自的優(yōu)缺點(diǎn)以及怎樣存取才能達(dá)到效率最高。

      關(guān)鍵詞:移植性 數(shù)據(jù)負(fù)擔(dān) OlE 對(duì)象 圖片地址

      中圖分類號(hào):G718 ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-2117(2014)22-00-01

      在教學(xué)中,我們常常會(huì)用VB及Access做些小的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),如學(xué)籍管理系統(tǒng)、考試系統(tǒng)、圖書(shū)管理系統(tǒng)等,在這些數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中,經(jīng)常需要對(duì)圖片進(jìn)行處理。圖片在數(shù)據(jù)庫(kù)中應(yīng)該如何存取、怎樣存取才能達(dá)到效率最高,是我們最常碰到又急需解決的問(wèn)題。

      1 圖片在數(shù)據(jù)庫(kù)中的存儲(chǔ)

      以考試管理系統(tǒng)為例來(lái)說(shuō),在考試報(bào)名界面上必須有考試照片,而這照片必須存入后臺(tái)數(shù)據(jù)庫(kù)中。圖書(shū)管理系統(tǒng)新書(shū)入庫(kù)時(shí)需將新書(shū)封面圖片存入數(shù)據(jù)庫(kù)等。

      一般來(lái)說(shuō),圖片在數(shù)據(jù)庫(kù)中的存儲(chǔ)有兩種方式:直接將圖片存儲(chǔ)在數(shù)據(jù)庫(kù)中和在數(shù)據(jù)庫(kù)中存儲(chǔ)圖片地址。

      1.1 直接將圖片存儲(chǔ)在數(shù)據(jù)庫(kù)

      這種存儲(chǔ)方式采用的是數(shù)據(jù)流技術(shù)。數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),存儲(chǔ)圖片的字段數(shù)據(jù)類型定義為“OLE對(duì)象”。要插入圖片直接雙擊該字段即可。若要在程序中寫(xiě)入數(shù)據(jù)庫(kù),實(shí)現(xiàn)代碼如下:

      SUB ?SFILE()

      DIM ?STR ?As ADODB.STREAM

      DIM ?REAS ADODB.RECORDSET

      DIM ?STR ?AS STRING

      SET ?STM = NEW ADODB.STREAM

      STM.TYPE= ADTYPEBINARY

      STM.OPEN

      STM.LOADFROMFILE APP.PATH+”\ABC.JPG”

      SET ?RE= NEW ADODB.RECORDESET

      RE.OPEN”SELECT * ?FROM ?IMG” ,STM,1,3

      RE.ADDNEW

      RE.FIELDS(“PHOTO”)=STM.READ

      RE.UPDATE

      RE.CLOSE

      STM.CLOSE

      END SUB

      從代碼看圖片操作與其他字段寫(xiě)入數(shù)據(jù)庫(kù)基本一樣,只不過(guò)使用的是流對(duì)象。它的優(yōu)點(diǎn)是移植性好,不受系統(tǒng)前臺(tái)程序約束,可在不同地方使用;缺點(diǎn)是加大了數(shù)據(jù)庫(kù)的負(fù)擔(dān),在圖片量大的情況下會(huì)導(dǎo)致數(shù)據(jù)讀取、備份等操作緩慢。

      1.2 將圖片地址存儲(chǔ)在數(shù)據(jù)庫(kù)中

      這種方式對(duì)數(shù)據(jù)庫(kù)的操作簡(jiǎn)單,主要操作都在程序與操作系統(tǒng)之間的通信上了。只要將存儲(chǔ)圖片的字段數(shù)據(jù)類型定義為字符型即可。其操作與存儲(chǔ)字符數(shù)據(jù)相同,用這樣的方式首先要在代碼中獲取圖片的地址,其他與存儲(chǔ)普通類型數(shù)據(jù)代碼類似。它的優(yōu)點(diǎn)是只存儲(chǔ)字符數(shù)據(jù),數(shù)據(jù)庫(kù)負(fù)擔(dān)小,易于讀取備份等;缺點(diǎn)是系統(tǒng)移植不方便,需要同時(shí)移植圖片文件夾。

      以上的兩種方式都各有缺點(diǎn),具體選用哪種方法要看所做系統(tǒng)的具體情況而定,一般來(lái)說(shuō),考慮到數(shù)據(jù)庫(kù)的優(yōu)化,一般采用存儲(chǔ)圖片地址這種存儲(chǔ)方式。

      2 圖片從數(shù)據(jù)庫(kù)中的讀取

      圖片存入數(shù)據(jù)庫(kù)是為了后期前臺(tái)使用,如查詢某考生的報(bào)考信息,則要調(diào)出考生照片,查詢某本書(shū)籍資料,也要有相應(yīng)的封面圖片信息調(diào)出。

      圖片的存儲(chǔ)有兩種方式,相應(yīng)的,從數(shù)據(jù)庫(kù)中讀取圖片也有兩種方式。

      2.1 讀取直接存儲(chǔ)在數(shù)據(jù)庫(kù)中的圖片

      由于存儲(chǔ)時(shí)使用的是流對(duì)象 ADODB.STREAM,那么讀取也需要流對(duì)象,代碼如下:

      SUB ?RFILE()

      DIM STM ?AS ADODB.STREAM

      DIM RE ?AS ?ADODB.RECORDSET

      RE.OPEN “ select top 1* from ?img order by ?id desc”, ?iConc, adOpenKeyset , ?adLockReadOnly

      SET STM =NEW ADODB.STREAM

      STM.MODE=ADMODEREADWRITE

      STM.TYPE= ADTYPEBINARY

      STM.OPEN

      STM.WRITE RE(“PHOTO”)

      STM.SAVE TOFILE APP.PATH&”\ABC.JPG”

      IMAGE1.

      PICTURE=LOADPICTURE(APP.PATH&”\ABC.JPG”)

      RE.CLOSE

      STM.CLOSE

      END SUB

      2.2 讀取將地址存儲(chǔ)在數(shù)據(jù)庫(kù)中的圖片

      將地址存儲(chǔ)于數(shù)據(jù)庫(kù)中的圖片則容易處理,直接調(diào)用獲取字段值,再使用LOADPICTURE 函數(shù)顯示圖片即可。例如,要實(shí)現(xiàn)如圖窗體功能,代碼如下:

      PRIVATE ?SUB ?COMMAND1_CLICK()

      DIM CN AS ADODB.CONNECTIN

      DIM RS AS ADODB.RECORDSET

      DIM STR AS STRING

      SET CN= NEW ADODB.CONNECTION

      SET RS=NEW ADODB.RECORDSETCN.OPEN“PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=C:\EXCISE\FILE.MDB;PERSISR SECURITY INFO =FALSE”

      SQL=”SELECT * ?FROM ?STUDENT ?WHEREXM=”張一””

      Rs.open sql,cn ,1,1

      TEXT1.TEXT=RS(“XM”)

      TEXT2.TEXT=RS(“SEX”)

      STR=RS(“PHOTO”)

      IMAGE1.

      PICTURE=LOADPICTURE(STR)

      END SUB

      由上述代碼可知,圖片的讀取主要是獲取路徑后,使用函數(shù)LOADPICTURE 來(lái)顯示。當(dāng)然讀取圖片需要原來(lái)的路徑,否則將無(wú)法顯示。

      總之在設(shè)計(jì)的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中采用什么樣的圖片存取方法,如何使系統(tǒng)更快捷高效地完成任務(wù),需要根據(jù)實(shí)際情況及需要去進(jìn)行選擇。

      (江蘇省如東縣中等專業(yè)學(xué)校,江蘇 如東 226400)

      參考文獻(xiàn):

      [1]徐安東.visual basic 數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)教程[M].北京:清華大學(xué)出版社,2006.

      [2]譚浩強(qiáng).visual basic 程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2009.

      [3]greg perry.學(xué)用 visual basic 6.0[M].北京:清華大學(xué)出版社,2011.

      [4]劉濤.visualbasic數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)實(shí)例[M].北京:人民郵電出版社,2003.

      猜你喜歡
      對(duì)象
      神秘來(lái)電
      睿士(2023年2期)2023-03-02 02:01:09
      涉稅刑事訴訟中的舉證責(zé)任——以納稅人舉證責(zé)任為考察對(duì)象
      曬曬全國(guó)優(yōu)秀縣委書(shū)記擬推薦對(duì)象
      判斷電壓表測(cè)量對(duì)象有妙招
      攻略對(duì)象的心思好難猜
      意林(2018年3期)2018-03-02 15:17:24
      復(fù)雜高階對(duì)象的預(yù)測(cè)PI(D)控制
      基于熵的快速掃描法的FNEA初始對(duì)象的生成方法
      區(qū)間對(duì)象族的可鎮(zhèn)定性分析
      《陷遼記》中遼世宗祭奠對(duì)象考辨
      試論統(tǒng)一戰(zhàn)線學(xué)的研究對(duì)象
      济阳县| 洪江市| 诏安县| 杭州市| 田林县| 亳州市| 滨州市| 靖边县| 元谋县| 巴塘县| 铜陵市| 玛曲县| 镇原县| 甘谷县| 漯河市| 乐都县| 鞍山市| 育儿| 乳源| 大同市| 周宁县| 马公市| 含山县| 灵石县| 玉树县| 饶河县| 广汉市| 杨浦区| 梅河口市| 太康县| 高台县| 高唐县| 大田县| 西青区| 永安市| 遂昌县| 鹤庆县| 深州市| 上高县| 巴塘县| 上虞市|