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);
{
}
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));