QSqlDatabase::addDatabase第一次运行的时候,生成SQLite文件的同时会产生一个默认连接

QSqlDatabase::addDatabase第一次运行的时候,生成SQLite文件的同时会产生一个默认连接:

QSqlDatabase database = QSqlDatabase::addDatabase("QSQLITE");
QString myconn = m_createname = database.connectionName();
database.setDatabaseName(myfile);

然而真正查询的时候,却又使用了新的连接:
m_database = QSqlDatabase::addDatabase("QSQLITE", "mynewconn");
m_database.setDatabaseName(mysqlfile);

有些情况下想删除这个数据库文件,那么除了关闭mynewconn以外,还必须关闭myconn,否则就无法接触数据库文件的使用,从而导致无法删除。

怎么解除关闭数据库连接?使用:
http://doc.qt.io/qt-5/qsqldatabase.html#removeDatabase
这个也有些复杂,需要仔细看看才能明白。

时间: 2024-10-14 00:20:34

QSqlDatabase::addDatabase第一次运行的时候,生成SQLite文件的同时会产生一个默认连接的相关文章

利用Makefile.am和Makefile.in生成Makefile文件

1.运行命令 autoscan 生成 configure.scan和configure.log文件,这里如果需要安装autuconf软件包,下载地址http://download.chinaunix.net/download/0001000/648.shtml 下载之后解压 运行命令./configure  这时如果没有安装m4软件包会有错误提示,网上查一下如何安装m4软件包(http://blog.csdn.net/ldl22847/article/details/8575140)这个博客说的

java使用poi生成Excel文件

1. maven导入poi包: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependency> pom.xml 2. 新建测试数据实体类: package com.clz.testexportexcel; public class Exc

[UWP小白日记-1]判断APP是否是第一次运行初始化SQLITE数据库

利用应用程序设置来实现此功能. 1.首先,获取APP设置的容器: ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings; 由于获取容器的时候并没有给key为FirestStart的赋值,所以下面就直接判断是不是为null,为null就是第一次运行APP, 然后在else里给key为FirestStart的赋值,那么else的代码就只能执行一次了.当然以后在UI上可以添加一个switchButt

Hyperledger-fabric 手动操作第一次运行简单网络

Hyperledger-fabric 手动操作第一次运行简单网络 尽量使用fabric-sample/first-network目录中的yaml文件进行配置,第一次自己写配置文件问题很多都不知道怎么解决 创建一个文件夹存放命令执行过程中生成的相关文件 mkdir mynetwork # 创建存放证书的文件夹 cd mynetwork # 使用模板生成证书 cryptogen showtemplate > crypto-config.yaml #修改yaml文件中的内容使符合业务需求 crypto

如何打包/运行jar包,及生成exe文件

关于如何打包/运行jar包,以及生成exe文件.之前各种查询.博客,终于搞明白究竟是咋回事.记得还做过笔记的.今天要打包生成exe用的时候,居然忘了咋怎来着.去查看之前的笔记,死活没找到(好像被删掉了).决定写下来,以便之后随时调用. 一.jar包 什么是jar包?jar包即(Java Archive File),也就是java归档文件.JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的

VS2010 打包生成exe文件后 运行安装文件出现 TODO:&lt;文件说明&gt;已停止工作并已关闭

VS2010 打包生成exe文件后  运行安装文件出现  TODO:<文件说明>已停止工作并已关闭 TODO: <文件说明>已停止工作 原因: 打包的时候在文件系统中建立了空文件夹,那么该空的文件夹就不会被加载进去,导致程序运行用到该文件夹的时候就会出现了该问题. 解决方法: 如建立了文件Calibration 那么先随便加载一个文件(如:3.csv)文件进去  不让它为空就行了

MapReduce生成HFile文件,再使用BulkLoad导入HBase中(完全分布式运行)

声明: 若要转载, 请标明出处. 前提: 在对于大量的数据导入到HBase中, 如果一条一条进行插入, 则太耗时了, 所以可以先采用MapReduce生成HFile文件, 然后使用BulkLoad导入HBase中. 引用: 一.这种方式有很多的优点: 1. 如果我们一次性入库hbase巨量数据,处理速度慢不说,还特别占用Region资源, 一个比较高效便捷的方法就是使用 "Bulk Loading"方法,即HBase提供的HFileOutputFormat类. 2. 它是利用hbase

调试与运行结果不一致?第一次运行正确,后面错误,由于多线程修改UI吗?

先说说问题背景:使用Eclipse安装android程序到手机,调试ok,达到预想效果,退出,重新打开程序,No,部分UI界面未显示,Why? 首先想到的是多线程问题,调试与运行结果不一致说明中间存在时间差,因为单步调试的时候时间会被延长,然后找原因点,程序中修改UI 的代码分两部分,1部分修改好友图像,2部分更新地图,1是通过AsyncHttpClient异步从后台取数据,2则不涉及异步问题,在线程上测试了 很久,没搞定. 今天早上过来,突然意识到,修改地图的activity是新增的,不像其他

浏览器客户端智能自动化:如何取得页面中JavaScript运行时动态生成的URL?

浏览器客户端智能自动化:如何取得页面中JavaScript运行时动态生成的URL? 需求 "页面智能拼接"指的是通过启发式查询DOM树,判断出"下一页"链接,取出其href属性.Chromium的官方插件DOM Distiller完成类似的工作,主要目的就是为了将多页点击流程变成单页的Ajax连续阅读体验. 问题是,现在有些网站为了阻止浏览器客户端这么做,将href属性设置为"#"(或javascript:void()),然后在其onclick事