在Qt编程中使用C++操作数据库
之前说过用JS操作数据库,这次说一下用C++操作数据库。
一个应用程序可能有内置的数据库,需要读取数据,下面来实践一下如何写代码。
假设在安装时数据库已经放在/usr/share/yourapp/db.sqlite,我们需要一个操作数据库的类。
#include <QAbstractListModel> #include <QSqlDatabase> #include <QSqlQuery> #include <QString> class StationModel : public QAbstractListModel { StationModel(QObject *parent = 0); ~StationModel(); Q_INVOKABLE void open_selected_database(const QString &db_name); Q_INVOKABLE void close_current_database(); private: QSqlDatabase db; };
我们主要实现open_selected_database和close_current_database两个函数。
在函数中需要完成添加数据库和指定类型,指定数据库的路径,再打开数据库。
void StationModel::open_current_database(){ db = QSqlDatabase::addDatabase("QSQLITE"); QString db_name = "/usr/share/yourapp/db.sqlite"; db.setDatabaseName(db_name); if(db.open()){ ...... } }
打开数据库之后就可以在if(db.open())的判断里面做数据库的读取操作。
接下来还需要完成关闭数据库的操作。
void StationModel::close_current_database(){ db.close(); }
使用完数据库之后,要将数据库关闭,避免占用了数据库在其他地方不能使用。
这样就完成使用C++操作SQlite数据库了。

浙公网安备 33010602011771号