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的更多相关文章
随机推荐
- git 清空所有commit记录方法
说明:例如将代码提交到git仓库,将一些敏感信息提交,所以需要删除提交记录以彻底清除提交信息,以得到一个干净的仓库且代码不变 1.Checkout git checkout --orphan late ...
- Python Scrapy 自动爬虫注意细节(1)
一.首次爬取模拟浏览器 在爬虫文件中,添加start_request函数.如: def start_requests(self): ua = {"User-Agent": 'Moz ...
- java后端接收前端传来的复杂对象(包含List对象集合)
最近在和安卓对接口的时候发现往java后端传数据的时候,后台对象无法接收. 说明:后台对象为 类似结构 ObjectA{ private String a; private String b; pr ...
- linux 个性化设置shell提示
1.linux 用户登录过程中 相关文件执行顺序: /etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/b ...
- 【PHP】算法进阶,获取给定值的最优组合:虚拟币抵扣问题解决方案
商城里边.虚拟币抵扣问题解决方案 虚拟币抵扣规则,按照以下规则执行: 1.如果一个订单包含多款商品,且均支持虚拟币抵扣时: 优先按照最大化使用虚拟币进行全额抵扣原则进行抵扣,若抵扣后用户虚拟币账号 ...
- 【PHP】算法: 获取满足给定值的最优组合
PHP 获取给定值的最优组合 方法 - (蓝洛提供,博客地址: www.zhaorui.info) <?php ini_set('error_reporting','E_ALL^E_NOTI ...
- 谈谈后台服务的RPC和路由管理
版权声明:本文由廖念波原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/147 来源:腾云阁 https://www.qclo ...
- 关于Android图片资源瘦身的奇思妙想
版权声明:本文由况鹰原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/77 来源:腾云阁 https://www.qcloud ...
- PHP获取POST的原始数据的方法
一般我们都用$_POST或$_REQUEST两个预定义变量来接收POST提交的数据.但如果提交的数据没有变量名,而是直接的字符串,则需要使用其他的方式来接收. 方法一: 使用全局变量$GLOBALS[ ...
- 如何学习 cocos2d-x ?
发表于 04/23/2014 作者 zrong — 24 条评论 ↓ 11,687 次查看 本站文章除注明转载外,均为本站原创或者翻译. 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处 ...