34sqlite
sqlite,本地数据库。主要运用在小型的程序,传送方便(如发送附带数据库的程序,但MySQL有点大,或许没安装)。
如何创建本地数据库?
1.新建一个.txt的文本文件。
2.直接将后缀名有.txt改为.db即可。

思路和用法与前面的MySQL一样,连接上有点区别,其他一样。
1.连接数据库的类型不同
db=QSqlDatabase::addDatabase("QSQLITE");
2.Sqlite只需连接数据库,不需要设置数据库的地址,用户名,密码等
db.setDatabaseName("../student.db");
源代码:
#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include<QtSql/QSqlDatabase>
#include <QSqlQuery>
#include <QVariantList>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
QSqlDatabase db;
//查询qt支持的数据库驱动
qDebug()<<QSqlDatabase::drivers();
db=QSqlDatabase::addDatabase("QSQLITE");
//连接数据库
db.setDatabaseName("../student.db");
//打开数据库
if(!db.open())
{
return ;
}
//创建二维表
QSqlQuery query;;
query.exec("CREATE TABLE student(id INT PRIMARY KEY,sname VARCHAR(10),age INT,score INT)");
//批量添加
//预处理
query.prepare("INSERT INTO student(id,sname,age,score) VALUES(:id,:sname,:age,:score)");
//给字段设置内容
QVariantList idList;
idList<<1<<2<<3<<4;
QVariantList snameList;
snameList<<"小红"<<"小黑"<<"小白"<<"小华";
QVariantList ageList;
ageList<<15<<12<<23<<34;
QVariantList scoreList;
scoreList<<55<<66<<77<<88;
//给字段绑定相应的值
query.bindValue(":id",idList);
query.bindValue(":sname",snameList);
query.bindValue(":age",ageList);
query.bindValue(":score",scoreList);
//执行预处理命令
query.execBatch();
//显示数据
query.exec("SELECT * FROM student");
while(query.next())
{
qDebug()<<query.value("id").toInt()
<<query.value("sname").toString()
<<query.value("age").toInt()
<<query.value("score").toInt();
}
}
Widget::~Widget()
{
delete ui;
}
结果图:

34sqlite的更多相关文章
随机推荐
- RegisterHotKey注册快捷键
RegisterHotKey的具体使用方使用方法如下: BOOL RegisterHotKey( HWND hWnd, //响应该热键的窗口句柄 Int id, ...
- my97datepicker 怎么设置页面加载时默认值为当天时间
Demo示例如下:<script language="javascript" type="text/javascript" src="My97D ...
- MyBatis——Java API
Java API 既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升技能了. MyBatis 的 Java API 就是你收获你所做的努力的地方.正如你即将看到的,和 JDB ...
- TCP协议的基本规则和在Java中的使用
TCP协议是面向连接的,相对于UDP协议来说效率较低,但是比较安全,数据不容易丢失.TCP协议类似打电话的过程,在一端拨号时必须等待对方回应,确定两端建立了连接通道才能传送信息. 在Java中TCP被 ...
- hihocoder [Offer收割]编程练习赛14 可疑的记录
题目3 : 可疑的记录 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi有一棵N个节点的树,编号1-N,其中1号节点是整棵树的根.他把这棵树的N-1条边记录成N-1 ...
- URLSearchParams 接口定义处理 URL 参数串
基本使用方法如下 /* * URLSearchParams属性 * @语法:new URLSearchParams(parameter); */ (function(){ var str = &quo ...
- Eclipse 真机调试检测不到手机解决方案
想用Eclipse真机调试,但是死活检测不到手机. 手机已经打开了usb调试模式. 开始用的华为Mate9,后面试了下小米,都不行. 在网上搜了一堆,什么安全驱动.adb占用.删除360手机助手.修改 ...
- 神兽保佑-代码无BUG
┏┓ ┏┓┏┛┻━━━┛┻┓┃ ┃ ┃ ━ ┃┃ ┳┛ ┗┳ ┃┃ ┃┃ ┻ ┃┃ ┃┗━┓ ┏━┛ ┃ ┃ 神兽保佑 ┃ ┃ 代码无BUG! ┃ ┗━━━┓ ┃ ┣┓ ...
- angularJS的过滤器!
angularJS过滤器: filter currency date filter json limitTo lowercase number orderBy uppercase ...... Fil ...
- 混合开发中ios兼容问题
1. z-index无效,设置层级,发现再ios中无效,后来发现是设置了 -webkit-overflow-scrolling:touch 设置这个属性之后.层级设置失效 2.@keyup事件的问题, ...