近距离接触SQLite发现有很多不错的特性,最主要的是免安装、单文件,对于一般的管理系统和信息索引来说很合适,之前在.net中使用过SQLServer,所以SQLite很好接触,SQL是数据库通用语言,所以尝试着在Qt-Sqlite环境下做了简单的增删改查(CRUD)。
在使用过程中,需要以下几点说明:
1)需要在Qt Modules中引入“SQL”模块;
2)一个database对应一个文件,可以包含多张表(table);
3)database必须打开(open)和关闭(close),这一步可以选择分别在构造函数和析构函数中进行(QDataBase变量是成员变量),但不是必须;
4)建议使用QTableView显示数据,不仅考虑到其Model可以方便的装载数据库,还要借用其自带的过滤条件函数,可以进行类似数据库中的查询操作。
1.数据库初始化
1 database=QSqlDatabase::addDatabase("QSQLITE"); //使用SQLite的情况下,参数必须是“QSQLITE”大小写敏感 2 3 database.setDatabaseName("newbase.db"); //这个参数是数据库文件的路径,如"D:/newbase.db",如果该数据库文件已存在则使用原数据库。 4 //db.setDatabaseName(":memory:"); //这样就把生成的数据库文件是在内存当中的,在工程文件目录下找不到 5 if (!database.open()) 6 { 7 QMessageBox::critical(this,"Error","cannot open database!"); 8 return; 9 } 10 11 12 13 if (QFile::exists("newbase.db")) 14 { 15 //QFile::remove("newbase.db"); 16 showData(); 17 return; 18 }