gpt4 book ai didi

c++ - QSqlDatabase 并连接到 .sqlite 文件

转载 作者:搜寻专家 更新时间:2023-10-31 01:53:51 27 4
gpt4 key购买 nike

当我尝试使用 exe 连接到同一文件夹中的数据库文件时,发生了一些奇怪的事情。不显示错误消息,不加载数据库中的数据。

sdb = QSqlDatabase::addDatabase("QSQLITE");
sdb.setDatabaseName("lang.sqlite");

if (!sdb.open())
{
qDebug() << sdb.lastError().text();

QMessageBox msgBox;
msgBox.setIcon(QMessageBox::Critical);
msgBox.setText(sdb.lastError().text());
msgBox.setStandardButtons(QMessageBox::Ok);
msgBox.exec();
}

但如果我将数据库移动到另一个文件夹 - 一切正常。

sdb = QSqlDatabase::addDatabase("QSQLITE");
sdb.setDatabaseName("db\\lang.sqlite");

if (!sdb.open())
{
qDebug() << sdb.lastError().text();

QMessageBox msgBox;
msgBox.setIcon(QMessageBox::Critical);
msgBox.setText(sdb.lastError().text());
msgBox.setStandardButtons(QMessageBox::Ok);
msgBox.exec();
}

有什么想法吗?

最佳答案

试试这个:

sdb.setDatabaseName(qApp->applicationDirPath()
+ QDir::separator()
+ "lang.sqlite" );

关于c++ - QSqlDatabase 并连接到 .sqlite 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10556828/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com