内存不足。打开数据库时出错。 Qt中的sqlite3和UWP工具包

时间:2018-06-24 03:45:08

标签: c++ sqlite uwp qt5 qsqldatabase

我制作了一个非常简单的程序来打开sqlite3数据库并在其中创建示例表。我写了这段代码:

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QSqlDatabase>
#include <QSqlTableModel>
#include <QSqlQuery>
#include <QSqlError>
#include <QMessageBox>
#include <QStandardPaths>
#include <QFile>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
QFile file(QStandardPaths::displayName(QStandardPaths::AppDataLocation) + "/library.db");

if(file.open(QFile::ReadWrite))
    QMessageBox::information(this, "", "Successfully created database");

db.setDatabaseName(file.fileName());
db.setHostName("Test");

if(db.open())
{
    QSqlQuery query;

    if(!query.exec("create table if not exists test(name text not null)"))
        QMessageBox::critical(this, "Oops!", "Unable to create table: " + query.lastError().text());
}
else
    QMessageBox::critical(this, "Oops!", "Unable to open database: " + db.lastError().text());
}

MainWindow::~MainWindow()
{
    delete ui;
}

我在调试模式(桌面工具包)中测试了代码,并且可以正常工作。然后,我在通用Windows平台32位套件(64位也不起作用)中尝试了调试模式。但是这一次,尽管代码可以很好地编译并且也部署了应用程序,但是并未创建数据库。它显示错误:“内存不足。打开数据库时出错”。我缺少关于UWP的东西吗?

我检查了项目的构建文件夹,并创建了数据库。

我正在使用64位Windows 10

0 个答案:

没有答案