题
我正在使用 MFC 开发 CAD 应用程序。我想将文档(模型)保存为 SQLite 数据库会很好。
优点:
- 我避免文件格式更改(SQLite 会处理这个问题)
- 免费查询引擎
- 撤销堆栈已简化(表名、列名、新值 等等......)。
意见?
解决方案
这是个好主意。Sqlite 使用起来非常愉快!
但请记住一条古老的真理(我无法从谷歌获得关于它最初来自哪里的权威答案):将数据存储在关系数据库中就像将汽车停进车库,将其拆卸,然后将每个部件都放入放入贴有标签的柜子中。
几何数据由通过名称相互引用的点、线和线段组成,非常适合存储在数据库表中。但是,当您开始使用具有子组件层次结构的复合对象时,仅使用序列化并通过单个调用存储/加载模型可能需要更少的代码。
所以这也是一个好主意。
但是 MFC 中的序列化并不像在 C# 中那么成功,所以总的来说,我会继续使用 SQL。
其他提示
这是一个好主意,但在开始之前我有一些建议:
请注意,除了文件名之外,每个数据库还可以通过某种方式进行唯一标识,例如拥有一个描述数据库内文件的表。
在创建自己的示例和包装器之前,请先查看一些现有的基于 MFC 的示例和包装器。我见过的人都借用了每一个来创造更好的结果。谷歌:MFC SQLite 包装器。
使用 SQLite 数据库对于维护状态也很有用。提前考虑如何管理,并牢记 SQLite 包含哪些功能和缺少哪些功能。
您现在还可以考虑如何通过确保您的数据库表结构可以轻松导出到其他 SQL 数据库系统以及足够容易扩展到备份系统,从而将您的应用程序扩展到 Web。
不隶属于 StackOverflow