【发布时间】:2014-09-22 09:29:36
【问题描述】:
是否有可能对存储在 SQLite 内存数据库中的内容进行浅拷贝?
Qt 提供(与 SQLite 互连)在内存级别上操作 SQLite DB 的可能性;但是,在选择行时,通常会以深层方式复制数据(但非内存数据库需要这样做)。 主要问题是通过对已经存储在内存中的数据进行深度复制,我会使内存消耗翻倍 - 但是避免这种双倍消耗会很好,否则任何内存数据库的方法似乎都毫无用处因为我无法对内存中存储为 char* 的数据做任何特定的事情。
有没有一种简单的方法可以从 char* 到 QVariant* 而无需复制已经存在的数据?可能是 QSqlRecord 的子类或覆盖 sqlite 驱动程序!?
结果应该是我能够在内存数据库中使用 SQLite,就像我使用 Qt 的“标准”容器类(如 QMap、QHash、QList ......)由“原始数据”的浅拷贝组成" - 这样我就可以将这些浅拷贝的对象/对象结构传递给 QStandardItem 等其他类,以使其在 QTableView 中可见。
【问题讨论】: