QT中对SQL的基本操作

因为需要,需要做一个SQL数据库来保存数据。还要有MVC模式的思想。做了一些关于SQL的一些操作。

头文件:

#include <QCoreApplication>
#include <QSql>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
#include <QString>
#include <QFile>
#include <QDebug>
#include <QVariantList>

创建.db文件,打开数据库:

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");

    db.setDatabaseName("MyDatabase.db");

    if (!db.open()) {
        qDebug() << "Open db error.";
    }
    else {
        //打开成功后做的操作               
    }

创建数据库,插入数据,输出数据:

   QString create_sql = "create table student(id int primary key, name value(30), age int)";
        sql_query.prepare(create_sql);
        if (!sql_query.exec()) {
            qDebug() << "Error: Fail to create table." << sql_query.lastError();
        }
        else {
            qDebug() << "Table created!";
        }
//插入数据(1)
        QString insert_sql = "insert into student value (?,?,?)";
        sql_query.prepare(insert_sql);
        sql_query.addBindValue(1);
        sql_query.addBindValue("xiu");
        sql_query.addBindValue("20");
        if (!sql_query.exec()) {
            qDebug() << sql_query.lastError();
        }
        else {
            qDebug() << "insert xiu.";
        }
//插入数据(2)
         if(!sql_query.exec("INSERT INTO STUDENT VALUES(2, \"wang\",17)")) {
            qDebug() << sql_query.lastError();
        }
        else {
            qDebug() << "insert wang. ";
        }
//输出
  QString select_all_sql = "select * from student";
    sql_query.prepare(select_all_sql);
    if (!sql_query.exec()) {
        qDebug() << sql_query.lastError();
    }
    else {
        while (sql_query.next()) {
            int id = sql_query.value(0).toInt();
            QString name = sql_query.value(1).toString();
            int age = sql_query.value(2).toInt();
            qDebug() << QString("ID:%1 Name:%2 Age:%3").arg(id).arg(name).arg(age);
        }
    }

主要熟悉了简单的增删改查功能。

 

转载于:https://www.cnblogs.com/y-h2018611/p/9264628.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值