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的更多相关文章
随机推荐
- python2.0_s12_day10_Twsited异步网络框架
Twsited异步网络框架 Twisted是一个事件驱动的网络框架,其中包含了诸多功能,例如:网络协议.线程.数据库管理.网络操作.电子邮件等. Package application Configu ...
- MySQL性能优化(六)-- using filesort,in和exists,慢查询,mysqldumpslow
一.order by产生using filesort详解 1.首先建表和索引(以下使用的sql版本是5.5.54) /*课程表*/ create table course( id int primar ...
- Linux 虚拟终端:screen
screen 是一个虚拟终端,我们可以把执行时间很长的命令放在虚拟终端中执行,即使终端断开,这个虚拟终端也会在后台执行 [root@localhost ~]$ yum install -y scree ...
- ubuntu的安装方法
Ubuntu 是一个启动速度超快.界面友好.安全性好的开源操作系统,它由全球顶尖开源软件专家开发,适用于桌面电脑.笔记本电脑.服务器以及上网本等,并且它可以永久免费使用.如果你厌倦了Windows,如 ...
- 《转》python学习--基础上
学习的python本来想自己总结,但是发现了一篇不错的大牛的博客,拿来主义,,又被我实践了 关于前两篇如果总结的不详细,因此把他人的转载过来 http://www.cnblogs.com/BeginM ...
- 【Android M】预制的 Google GMS包
目录:android/vendor/google/apps .├── AndroidPay│ ├── Android.mk│ ├── AndroidPay_arm64.apk│ ├── A ...
- js判断手机型号
由于oppo手机自带浏览器的高度底部多了144px导航栏 所以:专门针对oppo手机做适配: var dowphone = document.getElementById("dowphone ...
- Ajax 完整教程(转载)
第 1 页 Ajax 简介 Ajax 由 HTML.JavaScript™ 技术.DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序.本文的作者是 ...
- JQueryUI之Autocomplete
JQueryUI之Autocomplete JQuery UI 是以 JQuery 为基础的开源 JavaScript 网页用户界面代码库.包含底层用户交互.动画.特效和可更换主题的可视控件,这些控件 ...
- jq简单城市二级联动实现
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...