Qt实用技巧:使用QTableView、QSqlTableMode与QSqlDatabase对数据库数据进行操作
需求
编写应用软件的过程中,需要对保存的数据进行动态的设置,当程序运行的时查询数据库获取相关配置项进行设置。
原理
使用时,将QSqlTableModel与QSqlDatabase绑定即model与sql绑定,然后将model与QTableView绑定,实现修改QTableView时,自动更新对数据库的操作,基本的数据库操作语句都省了。
Demo
Demo包含
Demo截图
关键代码
对于数据库的操作:打开数据库
_db = QSqlDatabase::addDatabase("QSQLITE");
_db.setDatabaseName("demo.db");
// 数据库文件是否在应用程序目录下,因为在编码时,应用程序默认路径在.pro文件夹下,但是实际exe路径在的其debug或者release文件夹下
// 补充:不论linux还是windows,统一使用单斜杠作为分隔,在linux和windows下都能识别,能更好的跨平台
#if 0
// 发布时
QString path = qApp->applicationDirPath()+"/"+"demo.db";
#else
// 编译时
QString path = qApp->applicationDirPath()+"/../"+"demo.db";
#endif
if(QFile::exists(path))
{
// 存在则打开
_db.open();
}else{
// 不存在打开并创建数据库表 补充:SQLite是基于文件的数据库,当打开时如果数据库文件不存在将自动创建一个
_db.open();
QSq