Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将CArchive转换为使用SQL数据库进行序列化的最简单方法?_Sql_Serialization_Mfc_Carchive - Fatal编程技术网

将CArchive转换为使用SQL数据库进行序列化的最简单方法?

将CArchive转换为使用SQL数据库进行序列化的最简单方法?,sql,serialization,mfc,carchive,Sql,Serialization,Mfc,Carchive,我有一个使用CArchive将对象结构序列化为文件的现有应用程序。我想知道是否可以用一些自定义类来代替CArchive的使用,以便像序列化一样写入数据库。在我开始思考这是否可行之前,我想知道其他人是否也这样做过——解决这个问题的最佳方法是什么?我希望能够为CArchive的使用创建一个插入式替换,这样现有的对象结构就可以简单地读/写数据库而不是序列化文件。它是否像覆盖每个类的Serialize方法一样简单 简短的回答:算了吧 详细回答: CArchive没有一个虚拟成员。即使是析构函数也不是虚拟

我有一个使用CArchive将对象结构序列化为文件的现有应用程序。我想知道是否可以用一些自定义类来代替CArchive的使用,以便像序列化一样写入数据库。在我开始思考这是否可行之前,我想知道其他人是否也这样做过——解决这个问题的最佳方法是什么?我希望能够为CArchive的使用创建一个插入式替换,这样现有的对象结构就可以简单地读/写数据库而不是序列化文件。它是否像覆盖每个类的Serialize方法一样简单

简短的回答:算了吧

详细回答:

CArchive没有一个虚拟成员。即使是析构函数也不是虚拟的,这意味着您不应该从C类程序员所说的sealed派生

我能想到的唯一一种可能性是定制CArchive的工作,而不必在CDocument中重写整个序列化代码:通过向CArchive对象传递一个指向将为您处理数据连接的CFile派生类的指针来构造它

从那时起,如何通过简单地覆盖CFile的读写来控制数据库超出了我的想象:-