QSqlDatabase 并连接到 .sqlite 文件
Posted
技术标签:
【中文标题】QSqlDatabase 并连接到 .sqlite 文件【英文标题】:QSqlDatabase and connecting to .sqlite file 【发布时间】:2012-05-11 18:37:33 【问题描述】:当我尝试使用 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();
有什么想法吗?
【问题讨论】:
【参考方案1】:试试这个:
sdb.setDatabaseName(qApp->applicationDirPath()
+ QDir::separator()
+ "lang.sqlite" );
【讨论】:
以上是关于QSqlDatabase 并连接到 .sqlite 文件的主要内容,如果未能解决你的问题,请参考以下文章
QSqlDatabase-SQLite无法在开机自启动时加载数据?