Qt操作SQLite
QSqlDatabase类
该类专门用于处理喝数据库的连接,头文件需要导入QSqlDatabase
在工程qmake.pro文件中加入SQL数据库支持:
QT += sql
Qsqlquery类
QSqlQuery类提供执行和操作SQL语句和各种方法,比如执行DML语句,如select/insert/update/delet及DLL,如create table/create view等
//CreateSqlConnect.h #ifndef CREATESQLCONNECT_H #define CREATESQLCONNECT_H #include <QtSql/QSqlDatabase> #include <QSqlQuery> #include <QMessageBox> static bool CreateSQLConnectionFunc(){ QSqlDatabase sqldb=QSqlDatabase::addDatabase("QSQLITE"); sqldb.setDatabaseName("test.db"); if(!sqldb.open()){ QMessageBox::critical(0,"错误","SQLite数据库打开失败",QMessageBox::Ok); return false; }else{ QMessageBox::information(0,"成功","SQLite数据库打开成功",QMessageBox::Ok); } QSqlQuery queryexec; //创建数据表 queryexec.exec("create table emp(" "empid int primary key," "empname varchar(20)" ")"); //插入记录 queryexec.exec("insert into emp values(101,'test1')"); queryexec.exec("insert into emp values(102,'test2')"); queryexec.exec("insert into emp values(103,'test3')"); queryexec.exec("insert into emp values(104,'test4')"); } #endif // CREATESQLCONNECT_H
#include "mainwindow.h" #include "ui_mainwindow.h" #include "CreateSqlConnect.h" #include <QDebug> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); qDebug()<< "连接数据库:"<<endl; if(!CreateSQLConnectionFunc()){ QMessageBox::information(0,"错误1","创建数据库失败1",QMessageBox::Ok); } QSqlQuery query; query.exec("select * from emp"); qDebug() << "职工编号" << "职工姓名"; while (query.next()) { qDebug() << query.value(0).toInt() <<qPrintable(query.value(1).toString()); } } MainWindow::~MainWindow() { delete ui; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!