999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

關于VB 與Access 中圖片的存取問題

2014-04-29 21:09:46錢曉燕
中國信息技術教育 2014年22期

錢曉燕

摘 要:在數據庫應用系統中,經常需要對圖片進行處理,包括圖片在數據庫中的直接存儲和只將圖片地址存儲于數據庫中兩種存儲方式。本文主要論述了圖片的存儲方式、讀取方式,它們各自的優缺點以及怎樣存取才能達到效率最高。

關鍵詞:移植性 數據負擔 OlE 對象 圖片地址

中圖分類號:G718 ? ? ? 文獻標識碼:A 文章編號:1674-2117(2014)22-00-01

在教學中,我們常常會用VB及Access做些小的數據庫應用系統,如學籍管理系統、考試系統、圖書管理系統等,在這些數據庫應用系統中,經常需要對圖片進行處理。圖片在數據庫中應該如何存取、怎樣存取才能達到效率最高,是我們最常碰到又急需解決的問題。

1 圖片在數據庫中的存儲

以考試管理系統為例來說,在考試報名界面上必須有考試照片,而這照片必須存入后臺數據庫中。圖書管理系統新書入庫時需將新書封面圖片存入數據庫等。

一般來說,圖片在數據庫中的存儲有兩種方式:直接將圖片存儲在數據庫中和在數據庫中存儲圖片地址。

1.1 直接將圖片存儲在數據庫

這種存儲方式采用的是數據流技術。數據庫設計時,存儲圖片的字段數據類型定義為“OLE對象”。要插入圖片直接雙擊該字段即可。若要在程序中寫入數據庫,實現代碼如下:

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

從代碼看圖片操作與其他字段寫入數據庫基本一樣,只不過使用的是流對象。它的優點是移植性好,不受系統前臺程序約束,可在不同地方使用;缺點是加大了數據庫的負擔,在圖片量大的情況下會導致數據讀取、備份等操作緩慢。

1.2 將圖片地址存儲在數據庫中

這種方式對數據庫的操作簡單,主要操作都在程序與操作系統之間的通信上了。只要將存儲圖片的字段數據類型定義為字符型即可。其操作與存儲字符數據相同,用這樣的方式首先要在代碼中獲取圖片的地址,其他與存儲普通類型數據代碼類似。它的優點是只存儲字符數據,數據庫負擔小,易于讀取備份等;缺點是系統移植不方便,需要同時移植圖片文件夾。

以上的兩種方式都各有缺點,具體選用哪種方法要看所做系統的具體情況而定,一般來說,考慮到數據庫的優化,一般采用存儲圖片地址這種存儲方式。

2 圖片從數據庫中的讀取

圖片存入數據庫是為了后期前臺使用,如查詢某考生的報考信息,則要調出考生照片,查詢某本書籍資料,也要有相應的封面圖片信息調出。

圖片的存儲有兩種方式,相應的,從數據庫中讀取圖片也有兩種方式。

2.1 讀取直接存儲在數據庫中的圖片

由于存儲時使用的是流對象 ADODB.STREAM,那么讀取也需要流對象,代碼如下:

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 讀取將地址存儲在數據庫中的圖片

將地址存儲于數據庫中的圖片則容易處理,直接調用獲取字段值,再使用LOADPICTURE 函數顯示圖片即可。例如,要實現如圖窗體功能,代碼如下:

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

由上述代碼可知,圖片的讀取主要是獲取路徑后,使用函數LOADPICTURE 來顯示。當然讀取圖片需要原來的路徑,否則將無法顯示。

總之在設計的數據庫應用系統中采用什么樣的圖片存取方法,如何使系統更快捷高效地完成任務,需要根據實際情況及需要去進行選擇。

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

參考文獻:

[1]徐安東.visual basic 數據庫應用開發教程[M].北京:清華大學出版社,2006.

[2]譚浩強.visual basic 程序設計[M].北京:清華大學出版社,2009.

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

[4]劉濤.visualbasic數據庫系統開發實例[M].北京:人民郵電出版社,2003.

主站蜘蛛池模板: 日韩精品成人网页视频在线| 波多野衣结在线精品二区| 欧美第二区| 国产精品精品视频| 九九久久精品免费观看| 波多野结衣无码视频在线观看| 欧美区一区| 成人在线欧美| 丝袜亚洲综合| 57pao国产成视频免费播放| 丝袜亚洲综合| 亚洲国产成人自拍| 国产精品999在线| 亚洲国产成人自拍| 亚亚洲乱码一二三四区| 国产大片喷水在线在线视频| 手机在线免费毛片| 亚洲香蕉在线| 国产乱视频网站| 久久人搡人人玩人妻精品一| www.精品国产| 亚洲国产日韩在线成人蜜芽| 国产熟睡乱子伦视频网站| 老色鬼欧美精品| 亚洲欧美不卡视频| 亚洲中文无码av永久伊人| 亚洲午夜18| 中文精品久久久久国产网址 | 国产aⅴ无码专区亚洲av综合网 | 欧美www在线观看| 99视频在线观看免费| 亚洲综合色区在线播放2019| 9cao视频精品| 国产三级国产精品国产普男人| 超级碰免费视频91| 亚洲欧美国产视频| 日韩福利视频导航| 欧美日韩第三页| 噜噜噜综合亚洲| 成人国产一区二区三区| 国产v精品成人免费视频71pao| 91福利在线观看视频| 高清视频一区| 国产一级小视频| 国产乱子伦视频在线播放| 国产高清在线丝袜精品一区| 亚洲熟女偷拍| 精品国产自在在线在线观看| 高清欧美性猛交XXXX黑人猛交| 99久久精品视香蕉蕉| 国产成人精品高清不卡在线| 久久久久久国产精品mv| 国产91精品最新在线播放| 欧美成人综合在线| 成人午夜天| 国产在线麻豆波多野结衣 | 韩国v欧美v亚洲v日本v| 中文国产成人久久精品小说| 成人精品免费视频| 成人免费一级片| 国内精品久久人妻无码大片高| 国产真实乱子伦视频播放| 国产成人综合日韩精品无码不卡| 区国产精品搜索视频| 日韩一级毛一欧美一国产| 国产成人福利在线视老湿机| 一级全免费视频播放| 成人毛片免费观看| 亚洲欧美不卡中文字幕| 亚洲国产精品无码久久一线| 成年看免费观看视频拍拍| 国产网站免费| 國產尤物AV尤物在線觀看| 最新精品久久精品| 在线观看视频99| 亚洲人成网站色7799在线播放| 日本高清成本人视频一区| 亚洲中文精品人人永久免费| 亚洲色图欧美视频| 国产91蝌蚪窝| 天天综合天天综合| 久久婷婷色综合老司机|