Qt——使用SQLite时数据库文件路径
字数统计:96 阅读时长 ≈ 1分钟前言
今天遇到一个很灵异的问题,使用Qt连接SQLite数据库时可以正常连上:
但是进行查询等操作的时候,总是显示mismatch。查了一堆资料后发现是db文件存放路径的问题。
解决方案
需要把db
文件放在.exe
同级目录下:
在连接数据库时,路径为文件名
#define SQLITE_PATH "stockEmulation.db"
bool connDataBase::OpenDatabase()
{
if (QSqlDatabase::contains("qt_sql_default_connection"))
{
db = QSqlDatabase::database("qt_sql_default_connection");
}
else
{
db = QSqlDatabase::addDatabase("QSQLITE");
qDebug()<<"SQLite driver?"<<db.isValid();
db.setDatabaseName(SQLITE_PATH);
}
//打开失败
if (!db.open())
{
qDebug()<<db.lastError().text();
QMessageBox::critical(0, QObject::tr("Database error"), db.lastError().text());
return false;
}
else
{
qDebug()<<"database open success!";
this -> query = QSqlQuery(db);
return true;
}
}
本文由simyng创作,
采用知识共享署名4.0 国际许可协议进行许可,转载前请务必署名
文章最后更新时间为:June 3rd , 2020 at 10:01 pm