zoukankan      html  css  js  c++  java
  • qt5 使用数据库

    #include <QApplication>
    //添加头文件
    #include <qdebug.h>
    #include <QSqlDatabase>
    #include <QSqlError>
    #include <QSqlQuery>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
    
        //建立并打开数据库
        QSqlDatabase database;
        database = QSqlDatabase::addDatabase("QSQLITE");
        database.setDatabaseName("MyDataBase.db");
        if (!database.open())
        {
            qDebug() << "Error: Failed to connect database." << database.lastError();
        }
        else
        {
            qDebug() << "Succeed to connect database." ;
        }
    
        //创建表格
        QSqlQuery sql_query;
        if(!sql_query.exec("create table student(id int primary key, name text, age int)"))
        {
            qDebug() << "Error: Fail to create table."<< sql_query.lastError();
        }
        else
        {
            qDebug() << "Table created!";
        }
    
        //插入数据
        if(!sql_query.exec("INSERT INTO student VALUES(1, "Wang", 23)"))
        {
            qDebug() << sql_query.lastError();
        }
        else
        {
            qDebug() << "inserted Wang!";
        }
        if(!sql_query.exec("INSERT INTO student VALUES(2, "Li", 23)"))
        {
            qDebug() << sql_query.lastError();
        }
        else
        {
            qDebug() << "inserted Li!";
        }
    
        //修改数据
        sql_query.exec("update student set name = "QT" where id = 1");
        if(!sql_query.exec())
        {
            qDebug() << sql_query.lastError();
        }
        else
        {
            qDebug() << "updated!";
        }
    
        //查询数据
        sql_query.exec("select * from student");
        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);
            }
        }
    #if 1
        //删除数据
        sql_query.exec("delete from student where id = 1");
        if(!sql_query.exec())
        {
            qDebug()<<sql_query.lastError();
        }
        else
        {
            qDebug()<<"deleted!";
        }
    
        //删除表格
        sql_query.exec("drop table student");
        if(sql_query.exec())
        {
            qDebug() << sql_query.lastError();
        }
        else
        {
            qDebug() << "table cleared";
        }
    #endif
        //关闭数据库
        database.close();
        return a.exec();
    }
  • 相关阅读:
    Highcharts 柱图 每个柱子外围的白色边框
    进阶ES6 点滴认知
    layer 问题 汇总
    iframe 常见问题 解析
    【腾讯开源】前端预处理器语言图形编译工具 Koala使用指南
    ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法
    Sass 混合宏、继承、占位符 详解
    git 命令篇
    git 继续前进篇
    zh-cn en-uk、zh-tw表示语言(文化)代码与国家地区对照表(最全的各国地区对照表)
  • 原文地址:https://www.cnblogs.com/nanqiang/p/12089920.html
Copyright © 2011-2022 走看看