使用Qt桌面应用程序高效创建SQLite数据库

时间:2012-12-08 07:34:38

标签: sqlite qt resources

我有一个小型桌面应用程序,可将其数据存储在SQLite数据库中。

目前,当应用程序首次运行时(或者用户想要创建新配置)时,我只需删除db文件并运行 QSqlQuery.exec(“CREATE TABLE ...”)的加载陈述。

当我意识到我必须更改数据库结构时,这导致了相当多的工作,搜索我使用过的所有SQL并将其更新为工作。所以现在我试图提出一种更模块化的方法来存储SQL \创建表...

我的第一个想法是存储用于在文本文件中创建数据库的SQL语句,作为Qt资源,但现在我实际上实现了它,感觉'笨拙'(QFile-> QTextStream->循环在readLine()上,并且不允许我在文本文件中格式化我的SQL语句以便于阅读。

我能做到的另一种方法是在编译时生成一个空数据库并将其存储为资源,但对我来说,我认为二进制文件的额外大小将超过新数据库创建的简单性。

我可以创建一个全局const QStrings的负载,但我最不喜欢这个想法,如果可能的话,我更愿意从源代码中分离非C ++ \ Qt。

那么,那些来自大师的想法在哪里?

1 个答案:

答案 0 :(得分:0)

如果在一行的末尾搜索;,则可以在多行上格式化SQL语句。

如果您compress,则空DB文件不大。