【问题标题】:Steps to connect SQLitedatabse with QT.?将 SQLitedatabse 与 QT 连接的步骤。?
【发布时间】:2024-04-25 10:15:01
【问题描述】:

我是 QT 的新手,我一直在尝试在 QT 中连接我的 SQLite 数据库文件以读取我的程序的数据。但是在谷歌上度过了愉快的时光后,我只找到了三行

    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("D:\\Rahul DB files\\MobileDB.s3db");
    bool db_ok = db.open();

但我无法连接到数据库。如果连接所需的几个初始步骤将被注释,我将非常感激。谢谢你

【问题讨论】:

  • 顺便说一句...请 Qt 而不是 QT。 Qt 是一个跨平台的应用程序开发框架,而 QT (QuickTime) - 是苹果公司开发的一个可扩展的多媒体框架。
  • 我是新人,以后会处理的。 :-)

标签: database qt sqlite connection


【解决方案1】:

试试:

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE","D:\\Rahul DB files\\MobileDB.s3db");
db.open()

好的,再解释一下。使用 addDatabase("QSQLITE") 打开默认的 sqlite 数据库连接。哪一个? Sqlite 没有服务器。任何任意文件都可以是 sqlite 数据库。使用 setDatabaseName 您只需重命名连接。来自 QSqlDatabase 文档:

注意:数据库名不是连接名。连接 name 必须在连接对象创建时传递给 addDatabase()。

【讨论】:

    【解决方案2】:

    检查您是否编译了 sqlite 支持静态或提供(相对于您的可执行文件)sqldrivers/qsqlite.dll。您最终需要编译必要的 sql-drivers。查看http://qt-project.org/doc/qt-5.0/qtsql/sql-driver.html的文档

    【讨论】:

    • 您的 qsqlite 驱动程序需要驻留在sqldrivers 目录中。最终您可以检查加载了哪些驱动程序?请尝试 QSqlDatabase::drivers() 获取您的应用当前可用的驱动程序列表
    最近更新 更多