gpt4 book ai didi

c++ - 没有绝对路径无法访问数据库

转载 作者:行者123 更新时间:2023-11-30 05:04:01 25 4
gpt4 key购买 nike

我像这样打开我的数据库并且它可以工作,但它显然是一个绝对路径并且它不会在我的电脑以外的任何其他地方工作

mydb = QSqlDatabase::addDatabase("QSQLITE");
mydb.setDatabaseName("D:/QT/Matura/baza/lboards.db");

否则我无法访问数据库

if(mydb.open())
qDebug() << "CONNECTED";
else
qDebug() << "NOT CONNECTED";

如果我将我的路径设置为

,这将返回 true
 mydb.setDatabaseName("lboards.db");

但是我在数据库中运行的 select 语句什么都不返回,但如果我输入完整路径,它就会返回。

最佳答案

我写的代码是这样的,供大家引用:

QString dbPath = QCoreApplication::applicationDirPath();
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName( dbPath + "sqlite.db" );
if (!db.open())
{
qDebug() << "do not find db file";
return false;
}

并确保 sqlite.dbyourapp.exe 位于同一路径中

在我的工作空间中,路径是:...\qt_project\build-yourapp-Desktop_Qt_5_8_0_MinGW_32bit-Debug\

你的可能不太一样,稍微调整一下就可以了。

希望对您有所帮助。

关于c++ - 没有绝对路径无法访问数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49132530/

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