我这样打开我的数据库并且它可以正常工作,但它显然是一条绝对的道路,除了我的电脑之外,它在其他任何地方都无法工作
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语句什么也没有返回,但是如果我把完整的路径放在那里就行了。
答案 0 :(得分:1)
我写的代码是这样的,供您参考:
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.db
与yourapp.exe
在我的工作空间中,路径为:...\qt_project\build-yourapp-Desktop_Qt_5_8_0_MinGW_32bit-Debug\
你的可能不一样,只需稍微调整一下。
希望有所帮助。