日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

【Qt】数据库实战(一)

發布時間:2024/4/24 数据库 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Qt】数据库实战(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

00. 目錄

文章目錄

    • 00. 目錄
    • 01. 概述
    • 02. 開發環境
    • 03. 數據庫驅動
    • 04. 創建數據庫連接
    • 05. 數據庫簡單操作
    • 06. 附錄

01. 概述

Qt中的Qt SQL模塊提供了對數據庫的支持,該模塊中的眾多類基本上可以分為三層。

驅動層為具體的數據庫和SQL接口層之間提供了底層的橋梁;SQL接口層提供了對數據庫的訪問,其中的QSqlDatabase類用來創建連接,QSqlQuery類可以使用

SQL語句來實現與數據庫交互,其他幾個類對該層提供了支持;用戶接口層的幾個類實現了將數據庫中的數據鏈接到窗口部件上,它們是更高層次的抽象,即便不

熟悉SQL也可以操作數據庫。如果要使用Qt SQL模塊中的這些類,需要在項目文件(.pro文件)中添加QT += sql這一行代碼。對應數據庫部分的內容,大家可以

在幫助中查看SQL Programming關鍵字。

02. 開發環境

Windows系統:Windows10

Qt版本:Qt5.15或者Qt6

03. 數據庫驅動

Qt SQL模塊使用數據庫驅動來和不同的數據庫接口進行通信。由于Qt的SQL模型的接口是獨立于數據庫的,所以所有數據庫特定的代碼都包含在了這些驅動中。Qt現在支持的數據庫驅動如下圖所示。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-WfTJJ8Qj-1616658483966)(assets/image-20210325152325294.png)]

需要說明的是,由于GPL許可證的兼容性問題,并不是這里列出的所有驅動插件都提供給了Qt的開源版本。下面我們通過程序來查看一下現在版本的Qt中可用的數據庫插件。

在.pro文件中添加下面一行

QT += sql

程序示例:

#include <QCoreApplication>#include <QSqlDatabase> #include <QStringList> #include <QDebug>int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);qDebug() << "Availabel drivers: ";QStringList drivers = QSqlDatabase::drivers();foreach(QString str, drivers){qDebug() << str;}return 0; }

執行結果:

Availabel drivers: "QSQLITE" "QODBC" "QODBC3" "QPSQL" "QPSQL7"

04. 創建數據庫連接

下面使用QSLite數據庫來進行一個簡單的演示,創建一個數據庫表,然后連接到數據庫,我們更改main.cpp文件的內容如下:

#include <QCoreApplication>#include <QSqlDatabase> #include <QStringList> #include <QDebug>int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);//創建一個SQLite數據庫連接QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");db.setDatabaseName(":memory:");bool ret = db.open();if (ret){qDebug() << "打開數據庫成功";}else{qDebug() << "打開數據庫失敗";}//關閉數據庫if (db.isOpen()){db.close();db.removeDatabase(db.databaseName());}return 0; }

執行結果:

打開數據庫成功

05. 數據庫簡單操作

下面使用QSLite數據庫來進行一個簡單的演示,創建一個數據庫表,然后查找其中的數據并進行輸出。我們更改main.cpp文件的內容如下:

#include <QCoreApplication>#include <QSqlDatabase> #include <QSqlQuery> #include <QSqlError> #include <QStringList> #include <QDebug>int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);//創建一個SQLite數據庫連接QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");db.setDatabaseName(":memory:");bool ret = db.open();if (ret){qDebug() << "打開數據庫成功";}else{qDebug() << "打開數據庫失敗";return -1;}//創建QSqlQuery對象QSqlQuery query;query.exec("create table student(id int primary key, name varchar)");query.exec("insert into student values(1, 'xiaoming')");query.exec("insert into student values(2, 'xiaogang')");query.exec("insert into student values(3, 'xiaohong')");//查找表中id > 2的數據query.exec("select id, name from student where id >= 2");while(query.next()){int id = query.value(0).toInt();QString name = query.value(1).toString();//輸出兩個值qDebug() << id << " " << name;}//關閉數據庫if (db.isOpen()){db.close();db.removeDatabase(db.databaseName());}return 0; }

執行結果:

打開數據庫成功 2 "xiaogang" 3 "xiaohong"

06. 附錄

6.1 Qt教程匯總
網址:https://dengjin.blog.csdn.net/article/details/115174639

6.2 源碼下載
網址:【Qt】數據庫實戰(一).rar

總結

以上是生活随笔為你收集整理的【Qt】数据库实战(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。