狂码一生_优质编程技术资源与您共享

狂码一生_优质编程技术资源与您共享

狂码一生技术博客站主要是以优质编程技术资源共享为核心,以交流学习为目的搭建的在线平台。我们共享一些优质的资源出来,供同行业的同胞交流与学习,让彼此之间在自身的技术上得到提升,本站主要提供程序方面的资源给大家,像PHP,C++,Javascript,html,asp.net,数据库等等方面的资源,本站计划将在后期会不断完善,建设更多类目的资源,希望能得到更多同行的支持!

Qt操作sqlite数据库

开发工具:Qt Creator 4.2.1 (Community)

开发平台:windows 7


sqlite的操作与mysql的操作很相似,查看操作mysql教程点击这里


一、在.pro配置文件中添加添加数据库

QT       += core gui sql   #后面追加上sql


二、头文件引入

#include <QDebug>
#include <QMessageBox>
#include <QSqlError>
#include <QSqlQuery>
#include <QVariantList>


三、下面直接上代码

    //打印数据库驱动
    qDebug() << QSqlDatabase::drivers();

    //添加sqlite数据库
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    //设置数据库
    db.setDatabaseName("../info.dat");

    //打开数据库
    if(!db.open()){
        QMessageBox::warning(this,"warning",db.lastError().text());
        return;
    }
    QSqlQuery query;
    QString sql = "create table student(id int primary key, name char(50) not null, pwd char(50) not null);";
    query.exec(sql);

    //批量插入数据
    query.prepare("insert into student(id,name,pwd) values(?,?,?)");
    QVariantList idList;
    idList << "1" << "2";
    QVariantList nameList;
    nameList << QString("张三").toUtf8() << QString("李四").toUtf8();
    QVariantList pwdList;
    pwdList << "110110" << "123456";
    //给字段绑定相应的值
    query.addBindValue(idList);
    query.addBindValue(nameList);
    query.addBindValue(pwdList);
    //执行预处理命令
    query.execBatch();

    //查询
    sql = "select * from student";
    query.exec(sql);
    while(query.next()){
        //取出并打印值
        qDebug() << query.value("id").toInt()
                 << query.value("name").toString()
                 << query.value("pwd").toString();
    }


版权声明: 此文为本站源创文章[或由本站编辑从网络整理改编],
转载请备注出处: [
狂码一生 ] http://www.sindsun.coms=/article-details-96.html
[若此文确切存在侵权,请联系本站管理员进行删除!]

评论