Qt 数据库Demo

1、pro文件添加 QT += sql
2、头文件添加:

#include <QtSql>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
#include <QSqlQueryModel>
#include <QString>
#include <QFile>
#include <QVariantList>
#include <QDebug> 

3、源文件:

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("ClientManage.db");
    if(!db.open())
        {
            qDebug()<< "database is error";
        }
        else
        {
            qDebug()<<"database is ok";
        }

    QSqlQuery query(db);
    query.exec("CREATE TABLE ClientManage ("
                       "Name VARCHAR(20) PRIMARY KEY, "
                       "Sex CHAR  NOT NULL, "
                       "Email VARCHAR(20) NOT NULL, "
                       "QQ VARCHAR(20) NOT NULL,"
                       "Address VARCHAR(50) NOT NULL"")");


    QString  s1 = ui->lineEdit->text();
    QString  s2 = ui->lineEdit_2->text();
    QString  s3 = ui->lineEdit_3->text();
    QString  s4 = ui->lineEdit_4->text();
    QString  s5 = ui->comboBox->currentText();

    query.prepare("INSERT INTO ClientManage (Name, Sex,Email,QQ,Address) "
                   "VALUES (:Name,:Sex,:Email,:QQ,:Address)");

    query.bindValue(":Name",s1);
    query.bindValue(":Sex",s5);
    query.bindValue(":Email",s2);
    query.bindValue(":QQ",s4);
    query.bindValue(":Address",s3);

    query.exec();

    QSqlQueryModel *model = new QSqlQueryModel(ui->tableView);
    model->setQuery("select * from ClientManage");

    model->setHeaderData(0,Qt::Horizontal,QObject::tr("Name"));
    model->setHeaderData(1,Qt::Horizontal,QObject::tr("Sex"));
    model->setHeaderData(2,Qt::Horizontal,QObject::tr("Email"));
    model->setHeaderData(3,Qt::Horizontal,QObject::tr("QQ"));
    model->setHeaderData(4,Qt::Horizontal,QObject::tr("Address"));

    ui->tableView->setModel(model);
原文地址:https://www.cnblogs.com/horizonhz/p/13868143.html