{
}
sqliteDatabase::~sqliteDatabase()
{
QStringList nameList = QsqlDatabase::connectionNames();
foreach(QString name,nameList)
{
CloseDatabase(name);
}
}
/*
QString const& connectionName,ware.db数据库文件的路径
返回值:QsqlDatabase db = QsqlDatabase::addDatabase("QsqlITE",connectionName);
*/
QsqlDatabase sqliteDatabase::GetDatabase(QString const& connectionName)
{
if(QsqlDatabase::contains(connectionName))
{
//判断当前数据库ware.db中的连接中是否已经包含了connectionName这个连接
return QsqlDatabase::database(connectionName);
}
//新连接
QsqlDatabase db = QsqlDatabase::addDatabase("QsqlITE",connectionName);
db.setDatabaseName(connectionName);
//打开
if(db.isValid())
db.open();
return db;
}
void sqliteDatabase::CloseDatabase(QString const& connectionName)
{
{
QsqlDatabase db = QsqlDatabase::database(connectionName);
if(db.isValid() && db.isOpen())
db.close();
}
QsqlDatabase::removeDatabase(connectionName);
}
//使用这个类
QString dbFile = SuperDir().GetAppSettingsDBFileEx();//数据库的路径,用数据库的本地文件路径作为该数据库的连接的名字 QsqlDatabase sqlDatabase = m_spsqlite->GetDatabase(dbFile); m_spAppSettingsDb = QSharedPointer<SettingsDB>(new SettingsDB(sqlDatabase));
原文链接:https://www.f2er.com/sqlite/199286.html