【问题标题】:QSqlDatabase and connecting to .sqlite fileQSqlDatabase 并连接到 .sqlite 文件
【发布时间】: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();
}

有什么想法吗?

【问题讨论】:

    标签: c++ sqlite qt


    【解决方案1】:

    试试这个:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2016-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多