我是QT的新手,我一直在尝试在QT中连接我的SQLite数据库文件来读取我的程序的数据。但在Google上度过了愉快的时光之后,我只发现了三行
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("D:\\Rahul DB files\\MobileDB.s3db");
bool db_ok = db.open();
但我无法连接到数据库。如果连接所需的几个初始步骤将被注释,我将非常感激。谢谢
答案 0 :(得分:1)
检查是否编译了sqlite支持静态或提供(相对于您的可执行文件)sqldrivers/qsqlite.dll
。您最终需要编译必要的sql-drivers。查看http://qt-project.org/doc/qt-5.0/qtsql/sql-driver.html
答案 1 :(得分:1)
尝试:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE","D:\\Rahul DB files\\MobileDB.s3db");
db.open()
好的,多一点解释。使用addDatabase(“QSQLITE”)可以打开默认的sqlite数据库连接。哪一个? Sqlite没有服务器。任何任意文件都可以是sqlite数据库。使用setDatabaseName,您只需重命名连接即可。来自QSqlDatabase docs:
注意:数据库名称不是连接名称。连接 name必须在连接对象创建时传递给addDatabase()。