Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.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
使用Qt桌面应用程序高效创建SQLite数据库_Sqlite_Qt_Resources - Fatal编程技术网

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

使用Qt桌面应用程序高效创建SQLite数据库,sqlite,qt,resources,Sqlite,Qt,Resources,我有一个小型桌面应用程序,它将数据存储在SQLite数据库中 目前,当应用程序第一次运行时(或者用户想要创建一个新配置),我只需删除db文件并运行一堆QSqlQuery.exec(“create TABLE…”)语句 当我意识到我必须改变数据库结构时,这导致了一项相当多的工作:查找我使用过的所有SQL并更新它以使其正常工作。因此,现在我试图提出一种更模块化的方法来存储SQL\创建表 我的第一个想法是将用于创建db的SQL语句存储在文本文件中,作为Qt资源,但现在我实际实现了它,它感觉“笨重”(Q

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

目前,当应用程序第一次运行时(或者用户想要创建一个新配置),我只需删除db文件并运行一堆QSqlQuery.exec(“create TABLE…”)语句

当我意识到我必须改变数据库结构时,这导致了一项相当多的工作:查找我使用过的所有SQL并更新它以使其正常工作。因此,现在我试图提出一种更模块化的方法来存储SQL\创建表

我的第一个想法是将用于创建db的SQL语句存储在文本文件中,作为Qt资源,但现在我实际实现了它,它感觉“笨重”(QFile->QTextStream->readLine()上的循环),不允许我在文本文件中格式化SQL语句以提高可读性

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

我可以创建一堆全局常量qstring,但我最不喜欢这个想法,如果可能的话,我更愿意将非C++\Qt与源代码分开


那么,如果你在搜索一个
,那么,有没有来自大师们的想法在一行末尾,您可以在多行上格式化SQL语句


如果您需要,空的DB文件不会很大。

@divanov如何使用代码中的那些文件?@divanov这正是我现在对资源文件所做的。