Can';t使用Qt连接到数据库

Can';t使用Qt连接到数据库,qt,sqlite,qt4,Qt,Sqlite,Qt4,我正面临一个奇怪的问题。我正在创建连接到Sqlite数据库的Qt4代码 使用: 当我从Qt Creator或直接从release文件夹执行代码时,我能够连接到数据库,但当我将release文件夹(包括数据库文件)复制到另一台机器时,由于某种原因,我无法连接 我还尝试使用数据库文件的完整路径: db.setDatabaseName("C://release//sb.sqlite"); 两件事: 第一: 在写出路径时,您需要使用转义后斜杠:\\或使用前斜杠:/ 试图避开Qt中的正斜杠,可能会给您带

我正面临一个奇怪的问题。我正在创建连接到Sqlite数据库的Qt4代码 使用:

当我从Qt Creator或直接从release文件夹执行代码时,我能够连接到数据库,但当我将release文件夹(包括数据库文件)复制到另一台机器时,由于某种原因,我无法连接

我还尝试使用数据库文件的完整路径:

db.setDatabaseName("C://release//sb.sqlite");
两件事:

第一:

在写出路径时,您需要使用转义后斜杠:
\\
或使用前斜杠:
/

试图避开Qt中的正斜杠,可能会给您带来问题

第二:

在部署Qt应用程序时,需要提供所有必要的Qt模块以及所需的Qt插件

Qt插件只会导致缺少运行时功能,而缺少的Qt模块会在加载时立即导致崩溃

下面的线程应该解决您看到的问题:

只需将sqlite4.dll放在可执行文件旁边的sqldrivers文件夹中

除了查看控制台中弹出的运行时调试信息外,您还可以在代码中添加如下调用:

boolqsqldatabase::isValid()

另外,在检查关于
db.open()
的文档时,您也可以调用
QSqlError QSqlDatabase::lastError()
,查看发生了什么

希望有帮助

db.setDatabaseName("C://release//sb.sqlite");