VB程序中數據庫的圖片處理的處理方法
發表時間:2024-02-17 來源:明輝站整理相關軟件相關文章人氣:
[摘要]在數據庫中,我們經常遇到需要處理圖片的情況。例如,如 果我們在產品數據庫中存儲了產品的照片,那將給顧客以直接的 感官認識。 在數據庫中,圖片的特殊性有兩點:1、圖片所占存儲空間常 常是比較大的;2、圖片的處理常常需要外部的程序。 在標準SQL語言中,提供了BLOB和CLO...
在數據庫中,我們經常遇到需要處理圖片的情況。例如,如
果我們在產品數據庫中存儲了產品的照片,那將給顧客以直接的
感官認識。
在數據庫中,圖片的特殊性有兩點:1、圖片所占存儲空間常
常是比較大的;2、圖片的處理常常需要外部的程序。
在標準SQL語言中,提供了BLOB和CLOB數據類型來存儲巨大的
二進制或字符數據。Microsoft SQL Server中的text數據類型相
當于BLOB,而image數據類型相當于CLOB。
小型數據庫我們常用ACCESS。在ACCESS中,備注數據類型可
以存儲最多為 65,535 個字符,而OLE對象數據類型可以存儲最多
1 G 字節的鏈接或嵌入的對象(例如 Microsoft Excel 電子表格
、Microsoft Word 文檔、圖形、聲音或其他二進制數據)。
因為圖片的大小常超出備注數據類型的限制,且用OLE類型更
方便,下面敘述一種在VB程序中處理ACCESS數據庫中圖片處理的
辦法。
在該方法中,我們要利用ACCESS數據庫中的OLE數據類型存儲
圖片,在VB程序中用OLE控件處理圖片。
由于OLE對象不能支持ADO和OLEDB,我們要用DAO來連接數據
。
首先,在ACCESS數據庫的表中,增加一個OLE對象數據類型的
列,用來存儲圖片。
其次,在VB程序中,添加一個Data控件,設置必要的屬性,
建立數據庫連接。當然,可以用代碼實現,只是比較麻煩,有挑
戰性,但更靈活。
在VB程序中添加一個OLE控件,出現插入對象對話框,選擇新
建畫筆圖片或圖像文檔、位圖圖像等等反正能處理圖像的OLE類型
。在此,我們選擇新建畫筆圖片。
設置OLE控件的DataSource屬性為Data控件,DataField屬性
為數據庫表的OLE類型列的名字。
就這么簡單,我們可以試著運行它。
我們可以右鍵單擊運行中的VB程序的OLE控件,出現編輯和打
開快捷菜單。選擇編輯將會在窗口中嵌入畫圖程序的菜單;選擇
打開將調用畫圖程序來打開圖片。這樣,我們就可以很方便地編
輯圖片了。我們可以雙擊OLE控件,這樣相當于選擇編輯快捷菜單
。
以上方法我在VB6+ACCESS 2000中測試通過。其實,只要我們
理解Windows的OLE技術,以上方法是很容易理解的。
那么,如果在不支持OLE類型的大型數據庫中,如Oracle、
Microsoft SQL Server中,如何來處理圖片呢。
在大型數據庫中,我們可以用BLOB或CLOB類型來存儲圖片。
因為圖片數據是二進制的,用BLOB類型更好。
我們把圖片文件的內容整個當作一個BLOB字段,讀入數據庫
中。
我們要在客戶程序中處理圖片時,將數據庫中的BLOB字段讀
出,寫入到一個臨時文件中,再調用外部程序打開該臨時文件,
處理完后更新數據庫,最后刪除臨時文件。
由于數據庫不支持象Real Movie的流式傳輸,我想,一個臨
時文件是免不了的。如果你能力強,可以尋求在內存中處理。
以上是我對數據庫中的圖片處理的一些看法,希望能對有需
要的網友有些幫助。