2008-11-09 56 views
0

我有一個使用CArchive將對象結構序列化到文件的現有應用程序。我想知道是否可以用一些自定義類替換CArchive的用法,以與序列化相同的方式寫入數據庫。在我開始研究這是否可行之前,我想知道其他人是否也做了同樣的事情 - 對這個問題最好的辦法是什麼?我希望能夠創建一個替代CArchive使用的替代,以便現有的對象結構可以簡單地從數據庫讀取/寫入/從數據庫讀取/寫入數據,而不是序列化文件。是否像覆蓋每個類的Serialize方法一樣簡單?最簡單的方法轉換CArchive使用SQL數據庫序列化?

回答

0

簡答:忘記它。

較長的回答:

CArchive沒有一個虛擬成員。即使它的析構函數不是虛擬的,這意味着你不應該從該類派生(C#程序員說密封)。

只有一種可能性,我可以考慮定製CArchive的工作(並且不需要重寫CDocument中的整個序列化代碼):通過將指針傳遞給CFile派生類來構建CArchive對象,該指針將爲您處理數據連接。

從那裏開始,您如何通過簡單覆蓋CFile的Read()和Write()來控制數據庫,這超出了我的想象:-(

相關問題