irpas技术客

Qt中使用SQLite数据库_hml111666_qt 安装sqlite

未知 7785

一、简述SQLite

SQLite(sql)是一款开源轻量级的数据库软件,不需要server,可以集成在其他软件中,非常适合嵌入式系统。 Qt5以上版本可以直接使用SQLite(Qt自带驱动)。

二、前期准备

1、下载sqllite3开发库:

https://download.csdn.net/download/hml111666/78020070

下载的压缩包中含有sqlite3.dll、sqlite3.h、sqlite3.lib等

2、配置

在项目根目录下创建lib文件夹,并把sqlite3.h放在项目根目录下把sqlite3.lib文件拷贝到lib文件夹中把sqlite3.dll文件拷贝到项目根目录下的debug文件夹中(或项目根目录下也可以)修改项目pro文件,在pro文件中增加如下内容 LIBS += $$PWD/lib/sqlite3.lib

三、使用 1、mysqlite.h文件 #ifndef MYSQLITE_H #define MYSQLITE_H #include <QDebug> #include "sqlite3.h" class mysqlite { public: //获取数据库指针--单例模式 static mysqlite * getMyDatabase() { if(mysqlite::myDatabase==nullptr) { qDebug()<<"打开user.db"; mysqlite::myDatabase=new mysqlite("user.db"); } return mysqlite::myDatabase; } private: mysqlite(const char * dbName);//打开指定的数据库 static mysqlite *myDatabase; //定义静态类对象指针 ~mysqlite(); public: static mysqlite * getMyDatabase(const char * dbName); //创建/打开数据库 void dbOpen(const char * dbName); //关闭数据库 void dbClose(); //执行sql语句 void dbExe(const char * sql); //获取数据 //引用传参:取别名 int getData(const char *sql,char **&result,int &row,int &col); private: char * errMsg; //返回的错误信息 sqlite3 * sqlDb; //数据库指针 }; #endif // MYSQLITE_H 2、mysqlite.cpp文件 #include "mysqlite.h" #include "sqlite3.h" #include <QDebug> //初始化静态变量 mysqlite * mysqlite::myDatabase=NULL; mysqlite::mysqlite(const char *dbName) { this->sqlDb=NULL; this->dbOpen(dbName); } mysqlite::~mysqlite() { this->dbClose(); delete this->errMsg; delete this->sqlDb; } void mysqlite::dbOpen(const char *dbName) { int res=0; //打开数据库 res =sqlite3_open(dbName,&(this->sqlDb)); if(res==SQLITE_OK) { qDebug()<<"打开成功"; } else { qDebug()<<"打开失败"; } } void mysqlite::dbClose() { int res=0; res=sqlite3_close(this->sqlDb); if(res==SQLITE_OK) { qDebug()<<"关闭成功"; } else { qDebug()<<"关闭失败"; } } void mysqlite::dbExe(const char *sql) { int res=0; res=sqlite3_exec(this->sqlDb,sql,NULL,NULL,&(this->errMsg)); if(res==SQLITE_OK) { qDebug()<<"执行sql语句成功"; } else { qDebug()<<"执行sql语句失败"; } } int mysqlite::getData(const char *sql, char **&result, int &row, int &col) { int res=0; qDebug()<<sql; res=sqlite3_get_table(this->sqlDb,sql,&result,&row,&col,&(this->errMsg)); qDebug()<<row; return res; }

Qt使用MVC、数据库单例模式实现登录功能:

https://blog.csdn.net/hml111666/article/details/122707123

?原创不易,转载请注明出处:

https://blog.csdn.net/hml111666/article/details/122707966


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #qt #安装sqlite