2010-09-12 99 views

回答

3

看看這個問題的答案:How to stores and Pictures in Db40?

我再次轉貼我的回答,有點與鏈接到Java文檔更新:

two basic ways處理斑點。要麼將數據庫中的Blob存儲爲字節數組,要麼使用特殊的db4o-Blob-Type。兩者都有其優點。

優點/缺點與字節數組:

  • 的斑點是在db4o的數據庫文件。所以只有一個文件需要複製。
  • 字節數組是正常db4o事務的一部分,並且按預期運行。
  • 當存儲較大的斑點時,可能會遇到database-size limitation of db4o。 (256 GB)

優勢/弱勢使用db4o-斑點

  • 的Blob存儲爲數據庫外部常規文件。這使數據庫本身很小。此外,您只需使用常規應用程序即可訪問所有存儲的斑點。
  • 你總是需要複製blob目錄和數據庫。
  • db4o-blobs在db4o事務之外工作。這意味着db4o-blob的行爲與任何其他存儲對象的行爲不同(並且API有點奇怪)。但是,這允許在不阻止當前事務的情況下檢索db4o-blob。

爲了您的情況,我會在Person類中存儲一個帶有圖片的byte []數組。或者你創建一個特殊的圖像類。這個圖像類包含一個帶有圖片的字節數組。以及將這個字節數組轉換爲Winforms位圖的幾種方法。