zoukankan      html  css  js  c++  java
  • Qt 数据库操作

    SQL 是操作数据库的标准语言,适用于MySQL、Oracle、DB2 等数据库。Qt 的 QtSql 模块基于 SQL 提供了相关数据库操作函数,因此得以使这些数据库操作起来大同小异。下面的以SQLite数据库为例记录,生成的数据库可通过SQLiteStudio进行可视化操作。

    添加模块

    1. .pro文件中添加QT += sql
    2. 在头文件添加
    #include <QSqlQuery>
    #include <QSqlError>
    

    添加数据库

    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("MyData.db3");
    

    打开数据库

    if (!db.open()) 
    {
        qDebug()<< "ERROR:"<<db.lastError().text();
        return false;
    }
    

    创建表

    这里创建一张含义整型、字符串、二进制数据3种存储类型字段的表

    QSqlQuery query;
    query.exec("CREATE TABLE students ("
                        "id INTEGER PRIMARY KEY AUTOINCREMENT, "
                        "name VARCHAR NOT NULL, "
                        "score INTEGER NOT NULL, "
                        "photo BLOB NOT NULL)");
    

    增加记录

    query.prepare("INSERT INTO students (name, score, photo) "
                    "VALUES (:name, :score, :photo)");
    
    query.bindValue(":name", "wangwu");
    query.bindValue(":score", 99);
    query.bindValue(":photo", QByteArray("BinData", 8));
    query.exec();
    

    删除记录

    query.exec("DELETE FROM students WHERE id = 1");
    

    修改记录

    query.prepare("UPDATE students SET photo = :photo WHERE name = 'wangwu'");
    query.bindValue(":photo", QByteArray("NewBinData", 11));
    query.exec();
    

    查找记录

    query.exec("SELECT * FROM students WHERE name = 'wangwu'");
    while (query.next())
    {
        int id            =  query.value(0).toInt();
        QString name      =  query.value(1).toString();
        QByteArray photo  =  query.value(3).toByteArray();
    }
    

    关闭数据库

    db.close();
    
  • 相关阅读:
    13.App爬取相关库的安装(Charles,Mitmproxy,Appium)
    26.pymysql、pymongo、redis-py安装
    25.安装配置phantomjs
    2.博客随笔加密!!!
    17.scrapy-splash安装-2
    17.docker及scrapy-splash安装-1
    16.Mongodb安装
    scrapy--BeautifulSoup
    scrapy--selenium
    python--随笔一
  • 原文地址:https://www.cnblogs.com/llil/p/13492710.html
Copyright © 2011-2022 走看看