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的更多相关文章

随机推荐

  1. django model 数据类型

    转自:http://www.cnblogs.com/lhj588/archive/2012/05/24/2516040.html Django 通过 models 实现数据库的创建.修改.删除等操作, ...

  2. 苹果降频门:旧款iPhone哪些功能受到影响

    要说苹果最近发生的大事,就数网络上传的沸沸扬扬的降频门事件了,近期苹果在新发布的iOS 11系统中新增了一项功能,意在降低旧款手机的电量消耗,但限制了旧款iPhone的性能,那么iPhone有哪些功能 ...

  3. CentOS-6.3安装配置Nginx--【测试已OK】

    安装说明 系统环境:CentOS-6.3软件:nginx-1.2.6.tar.gz安装方式:源码编译安装 安装位置:/usr/local/nginx 下载地址:http://nginx.org/en/ ...

  4. OpenGL 4.0 GLSL 基础教程概览——VAO和VBO常用操作接口

    (一) OpenGL  4.3 最新渲染管线图 从OpenGL 2.0 到 OpenGL 3.0变化非常大,但从OpenGL 3.0 到OpenGL 4.0 变化不是太大. 着色器程序直接运行在GPU ...

  5. php学习六:字符串

    前言:越来越觉得php的强大之处了,不紧是数组,在字符串方面也可以看出它的优势,第一:方法多,集合了js,c,c#等多门语言的方法:第二:有许多方法是其他语言不具备的,如他的模糊比较,就是其他语言所没 ...

  6. uiimageview 异步加载图片

    dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){ NSURL *url = ...

  7. 《C++ Primer Plus》第7章 函数——C++的编程模块 学习笔记

    函数是C++的编程模块.要使用函数,必须提供定义和原型,并调用该函数.函数定义是实现函数功能的代码:函数原型描述了函数的接口:传递给函数的值的书目和种类以及函数的返回类型.函数调用使得程序将参数传递给 ...

  8. PyQt4进度条QProgressBar

    当我们在处理一个好事较长的任务时,可能就会用到进度条部件.因为使用进度条可以形象告诉用户当前的人物正在进行中.PyQt4工具包提供了水平和垂直两种类型的进度条部件.我们可以设置进度条的最大和最小值,默 ...

  9. ubuntu 备忘

    卷组扩容 Linux mint采用默认卷组的安装方式 sain@Linux ~ $ df -hl Filesystem Size Used Avail Use% Mounted on udev .7G ...

  10. PHP的函数-----生成随机数、日期时间函数

    常用的函数 [1]   生成随机数 rand(); 例子: echo rand(); 显示结果: 当刷新时,会有不同的数,默认生成随机数.生成随机数不能控制范围. 如果,想要控制在范围之内,就用: e ...