QT SQL实现建库、创表、增删改查

qt工程配置

这是要使用数据库的前提(注意哈)
在这里插入图片描述

添加头文件

向工程中添加qt提供的sql操作的头文件

#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QDebug>
#include <QVariant>

创建数据库

QSqlDatabase database;
//输出支持数据库的类型
qDebug()<<QSqlDatabase::drivers();
database = QSqlDatabase::addDatabase("QSQLITE");
//获取数据库,如果存在就直接打开,否则就新建一个
database.setDatabaseName("fisher.db");
//是否打开数据库成功的判断
if(!database.open())
{
    qDebug()<<"Failed to open database:"<<database.lastError();
}
else
{
    qDebug()<<"Success to open database";
}

创建表

 //创建表
 QSqlQuery sqlQuery;
 //用于存储sql语句
 QString sql;
 sql = "create table fisher(fish_id int primary key,fish_name text,fish_score int)";
 //创建表是否成功
 if(!sqlQuery.exec(sql))
 {
     qDebug()<<"Failed to create table:"<<sqlQuery.lastError();
 }
 else
 {
     qDebug()<<"success to create";
 }

SQL增删改查

SQL语句的三种字符拼接方法如下(以数据库插入为例):
其它的sql语句的执行类似

//执行插入语句
//sql语句第一种写法
char text[250] = '0';
sprintf(text,"insert into fisher values(%d,%s,%d)",1,"funny",200);
sqlQuery.exec(text);
//第二种写法
sql = QString("insert into fisher values('%1','%2','%3')").arg(1).arg("funny").arg(200);
sqlQuery.exec(sql);
//第三种写法
sqlQuery.exec("insert into fisher values(1,"funny",200)");
注意
database.open();
database.close();

数据库打开之后不使用时一定要记得关掉,不然会造成内存泄漏,将一直占用内存

用SQLiteExpertPers软件查看数据库结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值