【已解决】qt保存数据库,数据库存在则打开,不存在则新建数据库

问题背景

遇到这个问题的时候,我有点盲目,因为不知道如何操作。在仔细研究与推演下最后解决了这个问题。

问题解决方案

利用SaveFileName,即使这个数据库文件存在,那么我们也要选择替换,整体代码如下:

QString dbName = QFileDialog::getSaveFileName(nullptr, "Save Database File", ".", "SQLite files (*.db)");
	if (dbName.isEmpty()) {
    
    
		QMessageBox::critical(this, tr("Failed"), tr("Save DataBase Failed"));
		return;
	}
	
	if (!QFile::exists(dbName)) {
    
    
		QFile newFile(dbName);
		if (newFile.open(QIODevice::WriteOnly)) {
    
    
			newFile.close();
		}
	}
	

解读代码

代码先保存文件,如果文件为空,则直接返回失败,如果返回不存在,则新建数据库,这样我们就可以做到题目上说,qt保存数据库,数据库存在则打开,不存在则新建数据库。

猜你喜欢

转载自blog.csdn.net/m0_37149062/article/details/131050610