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

簡談VB中用數據庫存取圖片的簡便方法

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


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

主站蜘蛛池模板: 91免费观看视频| 黄色在线网| 精品伊人久久久大香线蕉欧美| 欧美国产日韩在线观看| 欧美日本在线| 亚洲第一黄色网址| 91国内在线视频| 久久黄色一级视频| 成人亚洲天堂| 黄色一级视频欧美| 1024你懂的国产精品| 亚洲综合二区| 2021国产在线视频| 亚洲成人动漫在线观看| 日韩123欧美字幕| 亚洲妓女综合网995久久| 谁有在线观看日韩亚洲最新视频| 亚洲中久无码永久在线观看软件 | 亚洲伊人久久精品影院| 极品av一区二区| 成人在线欧美| 亚洲一区二区视频在线观看| 国产va免费精品观看| 国产精品三区四区| 久久毛片网| 性69交片免费看| 国产成人禁片在线观看| 国产一区二区三区在线精品专区| 日日噜噜夜夜狠狠视频| 国内丰满少妇猛烈精品播| 91精品国产91欠久久久久| 亚洲免费毛片| 亚洲无码高清免费视频亚洲| 久久国产乱子伦视频无卡顿| 91色综合综合热五月激情| 亚洲综合日韩精品| 婷婷成人综合| 特级aaaaaaaaa毛片免费视频 | 国产在线91在线电影| 伊人国产无码高清视频| 亚洲一区精品视频在线| 国产大全韩国亚洲一区二区三区| 国产极品粉嫩小泬免费看| 欧美日本激情| 久久99这里精品8国产| 香蕉久久国产超碰青草| 欧美成人区| 久久夜色精品| 日本道综合一本久久久88| 国产精品一老牛影视频| 欧美一区二区精品久久久| 黄色网在线| 亚洲日韩高清无码| 久久婷婷人人澡人人爱91| 四虎影视永久在线精品| 91在线一9|永久视频在线| 香蕉伊思人视频| 伊伊人成亚洲综合人网7777| 五月激激激综合网色播免费| 久久免费视频6| 日韩av电影一区二区三区四区| 伊人色婷婷| 99久久精品视香蕉蕉| 在线看国产精品| 91蜜芽尤物福利在线观看| 免费看黄片一区二区三区| 国产精品视频导航| 54pao国产成人免费视频| 国产精品视频导航| 日韩黄色精品| 成人免费网站在线观看| 97视频免费在线观看| 韩国自拍偷自拍亚洲精品| 欧洲精品视频在线观看| 午夜不卡视频| 亚洲精品视频免费看| 99视频精品全国免费品| 亚洲欧州色色免费AV| 亚洲网综合| 亚洲人成亚洲精品| 久久精品这里只有精99品| 91久久国产综合精品女同我|