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