Tengo una base de datos SQLite para mi aplicación Qt. Supongo que sería lógico agregar la base de datos como recurso.Base de datos integrada en Qt
No consigo que mi aplicación compile con el recurso incrustado.
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
assets.qrc
<RCC>
<qresource prefix="/data">
<file>ShippingData.db3</file>
</qresource>
</RCC>
Mi base de datos SQLite en este momento es como esto
app.pro
file.h
file.cpp
data/ShippingData.db3
Edición Construido (De Qt Creator)
No rule to make target `../TimePlotter/Shipping.db3', needed by `debug/qrc_assets.cpp'. Stop.
He intentado cambiar mi diseño de recursos, ya que a partir del mensaje que el compilador no es entrar en los datos/carpeta en la base de datos es. Consigo el mismo problema exacto de construcción con este archivo de recursos
<RCC>
<qresource>
<file>data/ShippingData.db3</file>
</qresource>
</RCC>
TimePlotter.pro
#-------------------------------------------------
#
# Project created by QtCreator 2010-11-21T03:18:17
#
#-------------------------------------------------
QT += core gui
TARGET = TimePlotter
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
time.cpp \
clients.cpp \
printTime.cpp
HEADERS += mainwindow.h \
time.h \
clients.h \
printTime.h \
connection.h
FORMS += mainwindow.ui \
time.ui \
clients.ui \
printTime.ui
RESOURCES += \
assets.qrc
Podría por favor, puesto que su archivo .pro también? Ayudaría a entender Gracias. –
Además, ¿dónde está ubicado su archivo assets.qrc en su árbol de proyectos? –
agregué el archivo .pro, gracias por su ayuda –