时间:2021-07-01 10:21:17 帮助过:3人阅读
记录(Record)做好后,表(Table)就简单了。
基本上表要做的工作就是对记录的管理,增删改查那一套。
到了这里,基本上需要的功能都差不多了,目前能想到的就是这些。下一步打算是把代码优化一下,更稳健一些,毕竟里面大量使用了指针,很有可能在哪个角落里没有处理好对象的创建、删除,会导致后面程序的不健壮。然后就是把接口再优化一下,做一些Demo程序,来规范本数据库的使用。没问题了就可以考虑ERP了。
当然,在写ERP的时候肯定会对数据库提出各种各样的要求,到时候肯定会再回过头来修改这个数据库的。
// 为LzjSchema的实例 /* LzjTable在硬盘中的格式: part1: 本LzjTable的名称 part2: 本表所用的模式的名称 part3: m_recordList */ class LzjTable{ public: LString m_strName; LzjSchema *m_pSchema; // 本表所用的模式 LList<LzjRecord*> m_recordList; public: LzjTable(LString strName); LzjTable(LString strName, LzjSchema *pSchema); ~LzjTable(); void Add(LzjRecord *pRecord); // pRecord为内生变量 LzjRecord* Get(DWORD dwIndex); // From 0 void Delete(DWORD dwIndex); void Update(DWORD dwIndex, LzjRecord *pRecord); DWORD Serialize(LFile *pFile); // 序列化 DWORD Unserialize(LFile *pFile); // 反序列化 void ConsoleOut(std::ostream *pCout); };
从零开始实现一个最简单的数据库_Step4:Table
标签: