加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLITE数据库 封装很好的类

发布时间:2020-12-12 19:38:06 所属栏目:百科 来源:网络整理
导读:SqliteDatabase::SqliteDatabase() { } SqliteDatabase::~SqliteDatabase() { QStringList nameList = QSqlDatabase::connectionNames(); foreach(QString name,nameList) { CloseDatabase(name); } } /* QString const connectionName,ware.db数据库文件的路
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));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读