SQLITE数据库 封装很好的类

前端之家收集整理的这篇文章主要介绍了SQLITE数据库 封装很好的类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
sqliteDatabase::sqliteDatabase()
{

}

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

猜你在找的Sqlite相关文章