我的Qt应用程序有一个SQLite数据库.我假设将数据库添加为资源是合乎逻辑的.
我无法使用嵌入式资源编译我的应用程序.
connection.h
#ifndef CONNECTION_H
#define CONNECTION_H
#include <QMessageBox>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
static bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(":/data/ShippingData.db3");
if (!db.open())
{
QMessageBox::critical(0, QObject::tr("Database Error"), db.lastError().text());
return false;
}
return true;
}
#endif // CONNECTION_H
Run Code Online (Sandbox Code Playgroud)
assets.qrc
<RCC>
<qresource prefix="/data">
<file>ShippingData.db3</file>
</qresource>
</RCC>
Run Code Online (Sandbox Code Playgroud)
我的sqlite数据库现在是这样的
app.pro
file.h
file.cpp
data/ShippingData.db3
Run Code Online (Sandbox Code Playgroud)
构建问题(来自Qt Creator)
No rule to make target `../TimePlotter/Shipping.db3', needed by `debug/qrc_assets.cpp'. Stop.
Run Code Online (Sandbox Code Playgroud)
我尝试更改我的资源布局,因为它来自编译器不会进入数据库所在的数据/文件夹的消息.我得到了与此资源文件完全相同的构建问题
<RCC>
<qresource>
<file>data/ShippingData.db3</file>
</qresource>
</RCC>
Run Code Online (Sandbox Code Playgroud)
TimePlotter.pro
#-------------------------------------------------
#
# Project created by QtCreator 2010-11-21T03:18:17
# …Run Code Online (Sandbox Code Playgroud)