小编Car*_*ech的帖子

Qt中的嵌入式数据库

我的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)

c++ sqlite qt embedded-resource

7
推荐指数
1
解决办法
4216
查看次数

标签 统计

c++ ×1

embedded-resource ×1

qt ×1

sqlite ×1