Qt笔记——QSqlLite

Posted 大蓝鲸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt笔记——QSqlLite相关的知识,希望对你有一定的参考价值。

静态数据库,简单方便

在.pro文件里添加 +sql

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H
#include "widget.h"
#include "ui_widget.h"
#include <QSqlDatabase>
#include <QDebug>
#include <QMessageBox>
#include <QSqlError>
#include <QSqlQuery>
#include <QVariantList>
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    //打印Qt支持的数据库驱动
    qDebug()<<QSqlDatabase::drivers();
    //添加Sqlite数据库
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    //设置数据库
    db.setDatabaseName("../info.db");

    //打开数据库
    if(!db.open())
    {
        QMessageBox::warning(this,"error",db.lastError().text());
        return;
    }


    QSqlQuery query;
    query.exec("create table if not exists student(id int primary key, name varchar(255), age int, score int)");
    query.prepare("insert into student(id,name, age, score) values(:id,:name, :age, :score)");
    //给字段设置内容 list
    QVariantList idList;
    idList<<1<<2<<3;
    QVariantList nameList;
    nameList << "xiaoming" << "xiaolong" << "xiaojiang";
    QVariantList ageList;
    ageList << 11 << 22 <<33;
    QVariantList scoreList;
    scoreList << 59 << 69 << 70;
    //给字段绑定相应的值 按顺序绑定
    query.addBindValue(idList);
    query.addBindValue(nameList);
    query.addBindValue(ageList);
    query.addBindValue(scoreList);
    //执行预处理命令
    query.execBatch();

    query.exec("select * from student");
    while(query.next())
    {
        //取出当前行的内容
        qDebug()<<query.value(0).toInt()
               << query.value(1).toString()
               << query.value("age").toInt()
               << query.value("score").toInt();
    }

}

Widget::~Widget()
{
    delete ui;
}

 

以上是关于Qt笔记——QSqlLite的主要内容,如果未能解决你的问题,请参考以下文章

26.Qt Quick QML-RotationAnimationPathAnimationSmoothedAnimationBehaviorPauseAnimationSequential(代码片段

学习笔记:python3,代码片段(2017)

QT学习笔记—— 4行代码实现音乐播放器

Qt编程遇到的问题,我在qt中直接使用C语言的程序片段,有问题 ,求解

Qt学习笔记

QT学习笔记3