亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        簡談VB中用數(shù)據(jù)庫存取圖片的簡便方法

        2010-12-31 00:00:00李利平
        計算機教育 2010年8期


          摘要:VB數(shù)據(jù)庫中圖像數(shù)據(jù)的存取對初學(xué)者來說是個難點,文章總結(jié)了綁定圖片控件、存儲圖片文件路徑、利用PropertyBag對象與Byte數(shù)組中轉(zhuǎn)三種較為簡便的方法以供初學(xué)者參考。
          關(guān)鍵詞:VB;Data控件;數(shù)據(jù)庫;圖片;存??;路徑;PropertyBag;Byte數(shù)組
          文章編號:1672-5913(2010)08-0125-04
          中圖分類號:G642
          文獻標(biāo)識碼:B
          
          圖像數(shù)據(jù)的存取對初學(xué)者來說是個難點,而當(dāng)前的VB教學(xué)因課時較短,所選教材或講授過程對數(shù)據(jù)庫一章要么忽略要么只是簡單地介紹,很少涉及到圖像的存取問題,而專業(yè)數(shù)據(jù)庫開發(fā)書籍中的大量源代碼又讓初學(xué)者看得頭疼,所以本文總結(jié)了3種相對簡便的方法以供參考。
          為順利運行程序,以下每種方法中,圖片文件夾和數(shù)據(jù)庫文件、VB程序文件同時存儲在同一目錄下。
          
          1 綁定圖片控件
          
          實現(xiàn)思路:用VB自帶VisData建立數(shù)據(jù)庫,把圖片存儲在數(shù)據(jù)庫表的Binary字段中,通過常用工具箱中Data控件與Image控件綁定,添加CommonDialog部件用以選擇圖片文件,在Image的DblClick事件中打開通用對話框,用LoadPicture函數(shù)把選定的圖片載入Image,用Data控件的四個箭頭瀏覽記錄。
          
          
          
          
          
          1.1建立圖片文件夾
          建立圖片文件夾bmp,把準備好的圖片(本例選用bmp、jpg、gif格式)放入其中,以備程序運行時添加和修改用。
          
          1.2建立數(shù)據(jù)庫
          啟動外接程序下的可視化數(shù)據(jù)管理器VisData,建立stu數(shù)據(jù)庫,新建xs表,包含學(xué)號、姓名、照片(類型Binary)3個字段。因Binary型字段在表中無法直接操作,所以生成表后并不需添加記錄,等程序運行時添加即可。
          
          1.3界面設(shè)計
          在窗體上添加2個標(biāo)簽、2個文本框,2個命令按鈕,1個Data控件,1個圖像框,1個CommonDialog控件;設(shè)置圖像框的BodyStyle屬性為1,Stretch屬性設(shè)置為True;設(shè)置Data控件DataBaseName屬性為stu.mdb,RecordSource屬性為xs,設(shè)置Textl、Text2的DataSource屬性Datal,Textl的DataField屬性為姓名,Text2的DataField屬性為學(xué)號:標(biāo)簽與命令按鈕屬性設(shè)置如圖1所示。
          
          1.4代碼編寫
          Data控件自動提供了修改現(xiàn)有記錄的能力,當(dāng)直接改變和DATA綁定的控件的值后,只需單擊Data控件上任一箭頭,即可保存所做的修改。為防止任意修改,本例中在窗體的Load事件里使文本框只讀(Locked屬性為False)和圖象框禁用(Enabled屬性True),并在調(diào)用記錄集的AddNew和Update方法中根據(jù)需要進行了改變。完整源碼如下。
          
          2 存取圖像文件的路徑
          
          實現(xiàn)思路:VisData數(shù)據(jù)庫建庫,圖片以路徑的形式存儲在文本型字段中,用Data控件綁定存儲路徑的字段,用CommonDialog選擇圖片,如在指定圖片路徑下不存在該圖片,則調(diào)用API函數(shù)CopyFile復(fù)制圖片到指定路徑,再用LoadPicture函數(shù)把圖片載入Image,利用Data控件的四個箭頭瀏覽、保存記錄。
          
          2.1建立圖片文件夾
          建立圖片文件夾pic,把準備好的缺省圖片文件Rose.bmp放入其中,其他圖片文件可現(xiàn)在放入也可在運行時選擇并復(fù)制。
          
          2.2建立數(shù)據(jù)庫
          啟動VisData建立數(shù)據(jù)庫fm.mdb,表cy,包含姓名、照片2個Text類型字段,并設(shè)置姓名字段的缺省值“Rose”,照片字段的缺省值“pic\Rose.bmp”,以備新增記錄時Reposition事件代碼的正常運行。
          
          2.3設(shè)計界面
          界面設(shè)計同方法二,只是照片字段綁定的是Text2而非Imagel,具體設(shè)計如圖2所示。
          
          2.4代碼編寫
          因與Data控件綁定的是存儲路徑的字段,為隨記錄的變化而動態(tài)把字段存儲的路徑賦值給Image控件的Picture屬性,本方法調(diào)用了Data控件的Reposition事件。完整源碼如下:
          
          3
          利用PropertyBag對象與Byte數(shù)組
          
          實現(xiàn)思路:Access2003建庫,圖片存儲在OLE類型字段中,引用ADO 2.7 library進行數(shù)據(jù)庫連接,用PropertyBag對象與Byte數(shù)組中轉(zhuǎn)存取圖片。
          
          3.1數(shù)據(jù)庫設(shè)計
          啟動Access2003,建立數(shù)據(jù)庫book.mdb,表shu,包含書名(文本類型)、圖片(OLE對象)2個字段。因程序中Byte數(shù)組存取的是長二進制數(shù)據(jù),所以不要在表建立后通過“插入對象”命令輸入圖像數(shù)據(jù)。
          
          3.2界面設(shè)計
          新建工程,引用ADO 2.7,界面具體設(shè)計如圖3所示。
          
          3.3代碼編寫
          本文中主要列出了數(shù)據(jù)庫的連接、圖片的顯示與保存代碼,而記錄的瀏覽與增刪通過調(diào)用記錄集的AddNew、Delete、Move等方法實現(xiàn),記得在相關(guān)方法后用ShowData顯示數(shù)據(jù),核心代碼如下:
          (4)窗體載入時用ADODB建立數(shù)據(jù)庫連接,再調(diào)用ShowData函數(shù)顯示數(shù)據(jù)。
          
          4 結(jié)語
          
          除本文介紹的3種方法外,數(shù)據(jù)庫存取圖片的常見方法還有兩種:一種是利用ADO對象的AppendChunk和GetChunk方法,這涉及到對二進制數(shù)據(jù)的讀寫和臨時文件的建立操作,步驟多,操作復(fù)雜,不適合初學(xué)者;第二種是利用ADO的Stream對象,雖Stream對象的引入已大大簡化了二進制字段的操作,但還是要留下臨時文件。與此兩種方法相比,筆者所介紹的三種方法都無需對二進制文件直接進行存取,不會產(chǎn)生臨時文件,代碼編寫簡單,操作步驟少,所以很適合初學(xué)者使

        精精国产xxxx视频在线播放| 日本一二三区在线视频观看| 高清不卡日本v二区在线| 国产成人亚洲精品无码青| 日日澡夜夜澡人人高潮| 麻豆国产巨作AV剧情老师| 麻豆激情视频在线观看| 国产极品少妇一区二区| 国产精品免费精品自在线观看| 综合网五月| 国产精品不卡免费版在线观看| 国内自拍愉拍免费观看| 国产成人精品综合在线观看| 美女在线国产| 国语对白三级在线观看| 亚洲av成人一区二区三区本码| 国产精品毛片久久久久久久| 日韩一区二区超清视频| 一区二区三区成人av| 国产无套乱子伦精彩是白视频| 摸进她的内裤里疯狂揉她动视频| 丝袜欧美视频首页在线| 亚洲日产乱码在线中文字幕| 人成午夜免费视频无码| 馬与人黃色毛片一部| 加勒比熟女精品一区二区av| 精品国产精品久久一区免费式| 狠狠色噜噜狠狠狠狠米奇777| 久久福利资源国产精品999| 亚洲综合一区二区三区久久| 凹凸国产熟女精品视频app| 欧美午夜精品久久久久久浪潮| 日本一区二区在线资源| 日本高清乱码中文字幕| 在线亚洲+欧美+日本专区| 亚洲一区二区久久青草| 亚洲综合在不卡在线国产另类 | 99国产超薄丝袜足j在线观看| 亚洲麻豆av一区二区| 久久黄色视频| 国产又黄又大又粗视频|