Qt编程—学习笔记——QSlite数据库使用总结

数据库的使用主要是创建数据库,创建数据库表,输入数据库数据,查看数据库数据,导出数据库数据。

首先最重要的是*.pro文件中添加 QT  += sql。在接下来使用什么函数,请自行添加相应的类。

(1)创建数据库连接

db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("mydb.db");//双引号中改成:memory:即保存在运存中,程序关闭,即删除
if (!db.open()) 
qDebug()<<" can't open database >>>>>> mydb.db";

使用第三方数据库Sqlite,数据库名字为mydb.db,并且打开。

建议创建放在main.cpp函数中,保持程序的干净,也可以另建头文件,专类管理。

(2)创建数据库表

QSqlQuery query;
query.exec("create table test (id int primary key, name varchar(20))");//primary key 为主键

第一句可以放到其他类的*.h头文件中,这样这个类*.cpp就都可以引用了。
第二句也可以动态建表,利用QString的.arg()的方法。
QString a="xx";
QString b="1";
QString c=QString("create table %1 (id int,name varchar,%2 int)").arg(a).arg(b);
query.exec(c);

(3)输入数据库数据

单个输入
QSqlQuery query; 
query.prepare("insert into test (id, name) VALUES (:id, :name)"); //准备执行SQL查询
query.bindValue(":id", 12);   //在这定占位符上确定绑定的值
query.bindValue(":name"," xx"); 
query.exec();
批量输入
QSqlQuery query;
query.prepare("insert into test values (?, ?)");
QVariantList ints;
ints << 10 << 11 << 12 << 13;
query.addBindValue(ints);
QVariantList names;
//最后一个是空字符串,应与前面的格式相同
names << "xiaoming" << "xiaoliang"
                      << "xiaogang" << QVariant(QVariant::String);
query.addBindValue(names);

个人比较常用,虽然不知道这样做有没有缺点或弊端
QSqlQuery query;
QString a="11";
QString b="xx";
QString c=QString("insert into test values(%1, %2)").arg(a).arg(b);
query.exec(c);

(4)查看数据库数据

       一般查询:

比较常用的SQL语句
QSqlQuery query;
query.exec("select * from test");//*既是全部
query.exec("select name from test where id =11")
query.exec("select * from test where id between 1 and 2 ");//还有in(1,2,3)
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值