sqlite(sql)是一款开源轻量级的数据库软件,不需要server,可以集成在其他软件中,非常适合嵌入式系统。
qt5以上版本可以直接使用sqlite。
1、修改.pro文件,添加sql模块:
qt += sql
2、main.cpp代码如下:
#include "mainwindow.h" #include <qapplication> //添加头文件 #include <qdebug.h> #include <qsqldatabase> #include <qsqlerror> #include <qsqlquery> int main(int argc, char *argv[]) { qapplication a(argc, argv); //建立并打开数据库 qsqldatabase database; database = qsqldatabase::adddatabase("qsqlite"); database.setdatabasename("mydatabase.db"); if (!database.open()) { qdebug() << "error: failed to connect database." << database.lasterror(); } else { qdebug() << "succeed to connect database." ; } //创建表格 qsqlquery sql_query; if(!sql_query.exec("create table student(id int primary key, name text, age int)")) { qdebug() << "error: fail to create table."<< sql_query.lasterror(); } else { qdebug() << "table created!"; } //插入数据 if(!sql_query.exec("insert into student values(1, \"wang\", 23)")) { qdebug() << sql_query.lasterror(); } else { qdebug() << "inserted wang!"; } if(!sql_query.exec("insert into student values(2, \"li\", 23)")) { qdebug() << sql_query.lasterror(); } else { qdebug() << "inserted li!"; } //修改数据 sql_query.exec("update student set name = \"qt\" where id = 1"); if(!sql_query.exec()) { qdebug() << sql_query.lasterror(); } else { qdebug() << "updated!"; } //查询数据 sql_query.exec("select * from student"); if(!sql_query.exec()) { qdebug()<<sql_query.lasterror(); } else { while(sql_query.next()) { int id = sql_query.value(0).toint(); qstring name = sql_query.value(1).tostring(); int age = sql_query.value(2).toint(); qdebug()<<qstring("id:%1 name:%2 age:%3").arg(id).arg(name).arg(age); } } //删除数据 sql_query.exec("delete from student where id = 1"); if(!sql_query.exec()) { qdebug()<<sql_query.lasterror(); } else { qdebug()<<"deleted!"; } //删除表格 sql_query.exec("drop table student"); if(sql_query.exec()) { qdebug() << sql_query.lasterror(); } else { qdebug() << "table cleared"; } //关闭数据库 database.close(); return a.exec(); }
3、应用程序输出如下:
4、创建的 mydatabase.db 在build的这个文件夹下:
d:\qt\project\build-sl-desktop_qt_5_10_1_mingw_32bit-debug
到此这篇关于qt5中使用sqlite的实现方法的文章就介绍到这了,更多相关qt5使用sqlite内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!