SQLITE数据库 封装很好的类
2015-10-10 08:29
447 查看
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));
{
}
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));
相关文章推荐
- Redis大冒险
- SQL Server 连接字符串和身份验证
- Oracle Flashback技术之Flashback Database
- Oracle创建触发器实现主键自增
- 数据库AngularJs
- Memcached 笔记与总结(5)Memcached 的普通哈希分布和一致性哈希分布
- mysql闪退解决
- 跟我一起学习redis(一)
- 数据库中使用正则表达式小结
- ORACLE数据库中怎么求除数字、字母之外的非中文字符的正则表达式
- MySQL快速复制数据库数据表的方法
- Mysql复制表结构、表数据的方法
- 如何对 MongoDB 进行性能优化(五个简单步骤)
- 浅谈Oracle 11g 发行版2 新安装后关于登录的一些基本操作
- Oracle SQL Developer连接报错(ORA-12505)的解决方案(两种)
- oracle适配器连接不上的解决办法
- MongoDB下载地址
- redis启动警告处理
- MongoDB分片故障测试和解决方案
- centos6.7 安装 Mariadb数据库