如何检查数据库是否存在?

时间:2017-03-06 07:29:19

标签: c++ qt sqlite

我在qt中使用sqlite数据库。我使用setDatabase(“”)函数时创建的数据库。但我不知道如何检查相同的数据库是否存在。这是我的代码:

//add database driver
    db = QSqlDatabase::addDatabase ("QSQLITE");

    //create database
    if(db.databaseName () == db_Name){
        qDebug() << "Database exist or not created." << endl;
    } else {
        db.setDatabaseName (db_Name);
        qDebug() << "Database created." << endl;
    }

    //opening connection
    db.open ();

    //if connection created
    if(db.isOpen ()){
        qDebug() << "Database connected." << endl;
    } else {
        qDebug() << "Database not connected." << endl;
    }

我创建了数据库。信息。怎么检查?感谢。

2 个答案:

答案 0 :(得分:0)

您只需使用QFile检查数据库文件是否存在:

if (QFile::exists(db_Name)) {
    // database exists
}

答案 1 :(得分:0)

当您尝试打开一个不存在的文件时,SQLite会创建一个空数据库。

因此,如果您想知道是否需要为应用程序创建表,只需运行查询以检查这些表是否存在:

SELECT * FROM sqlite_master WHERE name = 'MyTable';