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);
        }
    }

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

猜你喜欢

转载自www.cnblogs.com/y-h2018611/p/9264628.html