精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Qt學(xué)習(xí)筆記之?dāng)?shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)2

jf_78858299 ? 來源: 紛紜雜談 ? 作者:CY_CHEN ? 2023-02-17 11:25 ? 次閱讀

更新數(shù)據(jù)庫操作實(shí)例

//更新數(shù)據(jù)操作
QString sqlUpdate = QString("update staff set name = '李四' where id= 3;");
if(!query.exec(sqlUpdate))
{
    qDebug() << "update data error" << db.lastError();
}

(5)查詢數(shù)據(jù)

查詢操作語法:

SELECT column1, column2, column FROM table_name;

SELECT ---- 關(guān)鍵字

column1, column2 columnN --- 列的字段名

FROM ----- 關(guān)鍵字

table_name ----- 表名

從表中查詢出指定字段的對應(yīng)的值,如果想要拆線呢所有字段的值,可以采用:select * from 表名

SELECT * FROM table_name;

查詢操作實(shí)例:

//查詢操作
QString sqlSelect = QString("select * from staff;");


if(!query.exec(sqlSelect))
{
    qDebug() << "insert data error" << db.lastError();
}
else
{
    while(query.next())
    {
        qDebug() << query.value("name").toString();
        qDebug() << query.value("age").toInt();
    }
}

第五步:顯示數(shù)據(jù)庫信息到UI頁面

//顯示數(shù)據(jù)庫信息
QString sqlSelect = QString("select * from staff;");


if(!query.exec(sqlSelect))
{
    qDebug() << "query data error" << db.lastError();
}
else
{
    while(query.next())
    {
        qDebug() << query.value("name").toString();
        qDebug() << query.value("age").toInt();
        ui->nameLabel->setText(query.value("name").toString());
        ui->ageLabel->setText(QString::number(query.value("name").toInt()));
    }
}

查詢到最后一行數(shù)據(jù)顯示到UI上:

圖片

第六步:關(guān)閉數(shù)據(jù)庫

db.close();

3、Qt SQL模塊數(shù)據(jù)庫類接口

在Qt中為SQL數(shù)據(jù)庫提供驅(qū)動程序?qū)印QL API層和用戶界面層,其提供主要類的簡要功能說明見下表

Qt SQL模塊包含的主要類的功能

類名稱 功能說明
QSqlDatabase 用于與數(shù)據(jù)庫建立連接
QSqlDriver 訪問特定sql數(shù)據(jù)庫的抽象基類
QSqlDriverCreator 為某個(gè)具體的數(shù)據(jù)庫驅(qū)動提供SQL驅(qū)動的模板類
QSqlDriverCreatorBase 所有SQL驅(qū)動器的基類
QSqlDriverPlugin 用于定制QSqlDriver插件的抽象類
QSqlError SQL數(shù)據(jù)錯(cuò)誤細(xì)信息,可以用于訪問上一次出錯(cuò)的信息
QSqlField 操作數(shù)據(jù)表或試圖的字段的類
QSqlIndex 執(zhí)行數(shù)據(jù)庫索引的類
QSqlQuery 執(zhí)行各種SQL語句的類
QSqlQueryModel SQL查詢結(jié)果數(shù)據(jù)的只讀數(shù)據(jù)模型,用于SELECT查詢結(jié)果數(shù)據(jù)記錄的只讀顯示
QSqlRecord 封裝了數(shù)據(jù)記錄操作的類
QSqlRelation 用于存儲SQL外鍵信息的類,用于QSqlRelationalTableModel數(shù)據(jù)源中設(shè)置代碼字段與關(guān)聯(lián)數(shù)據(jù)表的關(guān)系
QSqlRelationTableModel 用于QSqlRelationalTableModel的一個(gè)代碼字段的顯示和編輯代理組件,一般是一個(gè)QComboBox組件,下拉列表中自動填充代碼表的代碼字段對應(yīng)的實(shí)際內(nèi)容
QSqlRelationTableModel 用于一個(gè)數(shù)據(jù)表的可編輯數(shù)據(jù)模型,支持代碼字段的外鍵
QSqlResult 訪問SQL數(shù)據(jù)庫的抽象接口
QSqlTableModel 編輯一個(gè)單一數(shù)據(jù)表的數(shù)據(jù)模型類

QtSQL也是采用MVC設(shè)計(jì)思想來處理數(shù)據(jù),主要類有:

(1) QSqlDatabase用于建立與數(shù)據(jù)庫的連接,在建立連接時(shí),加載數(shù)據(jù)庫驅(qū)動的時(shí)候,可以設(shè)置數(shù)據(jù)庫類型和數(shù)據(jù)庫名字。除此之外,還可以通過接口設(shè)置數(shù)據(jù)庫名字、主機(jī)名、用戶名和密碼,其主要接口說明見下表:

QSqlDatabase操作主要接口

函數(shù)名稱 功能說明
QSqlDatabase addDatabase(constQString &type,const QString &connectionName=QLatin1String(defaultConnection)) 根據(jù)數(shù)據(jù)庫類型,獲取數(shù)據(jù)庫對象并連接
void setDatabaseName(const QString &name) 設(shè)置連接數(shù)據(jù)庫名字
void setHostName(const QString &host) 設(shè)置連接主機(jī)名字
void sePassword(const QString &password) 設(shè)置連接密碼
void setUserName(const QString &name) 設(shè)置連接用戶名
bool open() 打開連接的數(shù)據(jù)庫

(2) QSqlQuery執(zhí)行各種SQL語句的類,在打開成功連接的數(shù)據(jù)庫,則可以通過QSqlQuery的接口來訪問數(shù)據(jù)庫中內(nèi)容,其主要接口說明見下表

QSqlQuery操作主要接口

函數(shù)名稱 功能說明
QSqlQuery(const QString &query = QString(),QSqlDatabase db=QSqlDatabase()) 得到訪問數(shù)據(jù)庫QSqlQuery對象
bool exec(const QString &query) 執(zhí)行SQL語句訪問數(shù)據(jù)庫
int at() const 得到當(dāng)前記錄查詢位置,第一條記錄的為0
bool first() 檢索結(jié)果中的第一條記錄
bool last() 檢索結(jié)果中的最后一條記錄
bool next() 檢索結(jié)果中的下一條記錄
QVariant value(const QString &name) const 返回當(dāng)前記錄中名為name的字段的值
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5068

    文章

    19021

    瀏覽量

    303322
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3766

    瀏覽量

    64276
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    802

    瀏覽量

    26445
收藏 人收藏

    評論

    相關(guān)推薦

    數(shù)據(jù)庫系統(tǒng)是什么?數(shù)據(jù)庫系統(tǒng)概念數(shù)據(jù)庫設(shè)計(jì)資料免費(fèi)下載

      什么是概念結(jié)構(gòu)設(shè)計(jì)1.將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設(shè)計(jì)2.概念結(jié)構(gòu)是各種
    發(fā)表于 09-07 14:34 ?1次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>系統(tǒng)是什么?<b class='flag-5'>數(shù)據(jù)庫</b>系統(tǒng)概念<b class='flag-5'>之</b><b class='flag-5'>數(shù)據(jù)庫</b>設(shè)計(jì)資料免費(fèi)下載

    如何進(jìn)行數(shù)據(jù)庫設(shè)計(jì)?數(shù)據(jù)庫設(shè)計(jì)介紹和需求分析及結(jié)構(gòu)設(shè)計(jì)資料概述

    數(shù)據(jù)庫設(shè)計(jì)的任務(wù)是指根據(jù)需求研制數(shù)據(jù)庫結(jié)構(gòu)并應(yīng)用 數(shù)據(jù)庫的過程。數(shù)據(jù)庫設(shè)計(jì)內(nèi)容包括數(shù)據(jù)庫
    發(fā)表于 09-13 17:05 ?0次下載
    如何進(jìn)行<b class='flag-5'>數(shù)據(jù)庫</b>設(shè)計(jì)?<b class='flag-5'>數(shù)據(jù)庫</b>設(shè)計(jì)介紹和需求分析及<b class='flag-5'>結(jié)構(gòu)設(shè)計(jì)</b>資料概述

    如何使用PowerDesigner進(jìn)行數(shù)據(jù)庫靜態(tài)結(jié)構(gòu)設(shè)計(jì)?詳細(xì)資料概述

    把用戶需求抽象為概念模型即為概念結(jié)構(gòu)設(shè)計(jì)。 概念模型除了要求能反映客觀世界并且易于理解外,還要求其易于向數(shù)據(jù)模型(如關(guān)系模型)轉(zhuǎn)化。 概念模型獨(dú)立于具體的數(shù)據(jù)庫系統(tǒng),是整個(gè)數(shù)據(jù)庫設(shè)
    發(fā)表于 09-13 17:05 ?0次下載
    如何使用PowerDesigner進(jìn)行<b class='flag-5'>數(shù)據(jù)庫</b>靜態(tài)<b class='flag-5'>結(jié)構(gòu)設(shè)計(jì)</b>?詳細(xì)資料概述

    數(shù)據(jù)庫靜態(tài)結(jié)構(gòu)如何設(shè)計(jì)?詳細(xì)資料任務(wù)和方法說明

    任務(wù):實(shí)現(xiàn)數(shù)據(jù)庫設(shè)計(jì)新奧爾良方法中概念結(jié)構(gòu)設(shè)計(jì)和邏輯結(jié)構(gòu)設(shè)計(jì)
    發(fā)表于 09-27 15:32 ?1次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>靜態(tài)<b class='flag-5'>結(jié)構(gòu)</b>如何設(shè)計(jì)?詳細(xì)資料任務(wù)和方法說明

    數(shù)據(jù)庫教程之如何進(jìn)行數(shù)據(jù)庫設(shè)計(jì)

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)據(jù)庫教程之如何進(jìn)行數(shù)據(jù)庫設(shè)計(jì)內(nèi)容包括了:1 數(shù)據(jù)庫設(shè)計(jì)概述 ,2 數(shù)據(jù)庫需求分析 ,3
    發(fā)表于 10-19 10:41 ?21次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>教程之如何進(jìn)行<b class='flag-5'>數(shù)據(jù)庫</b>設(shè)計(jì)

    數(shù)據(jù)庫設(shè)計(jì)的七大知識點(diǎn)總結(jié)詳細(xì)資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)據(jù)庫設(shè)計(jì)的七大知識點(diǎn)總結(jié)包括了:1 數(shù)據(jù)庫設(shè)計(jì)概述2 需求分析3 概念結(jié)構(gòu)設(shè)計(jì)4 邏輯結(jié)構(gòu)設(shè)計(jì)5
    發(fā)表于 10-19 10:41 ?0次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>設(shè)計(jì)的七大知識點(diǎn)總結(jié)詳細(xì)資料免費(fèi)下載

    數(shù)據(jù)庫學(xué)習(xí)入門資料如何進(jìn)行數(shù)據(jù)庫設(shè)計(jì)

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)據(jù)庫學(xué)習(xí)入門資料如何進(jìn)行數(shù)據(jù)庫設(shè)計(jì)主要內(nèi)容包括了:數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)的1 概述
    發(fā)表于 10-25 16:29 ?14次下載
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>學(xué)習(xí)</b>入門資料<b class='flag-5'>之</b>如何進(jìn)行<b class='flag-5'>數(shù)據(jù)庫</b>設(shè)計(jì)

    數(shù)據(jù)庫學(xué)習(xí)入門資料數(shù)據(jù)庫的概念結(jié)構(gòu)詳細(xì)資料概述

    什么是概念結(jié)構(gòu)設(shè)計(jì) 將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設(shè)計(jì) 概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比
    發(fā)表于 10-25 16:29 ?0次下載
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>學(xué)習(xí)</b>入門資料<b class='flag-5'>之</b><b class='flag-5'>數(shù)據(jù)庫</b>的概念<b class='flag-5'>結(jié)構(gòu)</b>詳細(xì)資料概述

    數(shù)據(jù)庫概念結(jié)構(gòu)是如何設(shè)計(jì)的概念結(jié)構(gòu)設(shè)計(jì)資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)據(jù)庫概念結(jié)構(gòu)是如何設(shè)計(jì)的概念結(jié)構(gòu)設(shè)計(jì)資料概述主要內(nèi)容包括了:1 概念結(jié)構(gòu)2 概念
    發(fā)表于 10-26 11:49 ?22次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>概念<b class='flag-5'>結(jié)構(gòu)</b>是如何設(shè)計(jì)的概念<b class='flag-5'>結(jié)構(gòu)設(shè)計(jì)</b>資料概述

    數(shù)據(jù)庫的設(shè)計(jì)概念總結(jié)

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)據(jù)庫的設(shè)計(jì)概念總結(jié)主要內(nèi)容包括了:1.數(shù)據(jù)庫設(shè)計(jì)概述,2.需求分析,3.概念結(jié)構(gòu)設(shè)計(jì),4.邏輯結(jié)構(gòu)設(shè)計(jì),5.
    發(fā)表于 01-09 17:29 ?13次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>的設(shè)計(jì)概念總結(jié)

    數(shù)據(jù)庫設(shè)計(jì)開發(fā)案例教程之數(shù)據(jù)庫設(shè)計(jì)的資料介紹

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)據(jù)庫設(shè)計(jì)開發(fā)案例教程之數(shù)據(jù)庫設(shè)計(jì)的資料介紹主要內(nèi)容包括了:1 數(shù)據(jù)庫設(shè)計(jì)概述,2 需求分析,3 概念結(jié)構(gòu)設(shè)計(jì)
    發(fā)表于 01-11 11:20 ?17次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>設(shè)計(jì)開發(fā)案例教程之<b class='flag-5'>數(shù)據(jù)庫</b>設(shè)計(jì)的資料介紹

    Qt學(xué)習(xí)筆記數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)1

    數(shù)據(jù)庫也是應(yīng)用程序的重要部分,一個(gè)完整的應(yīng)用程序幾乎都包含數(shù)據(jù)庫。 當(dāng)前主流的數(shù)據(jù)庫有DB2、MYSQL、OCI、ODBC、SQLITE、TDS、Oracle。 Sqlit
    的頭像 發(fā)表于 02-17 11:25 ?740次閱讀
    <b class='flag-5'>Qt</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>結(jié)構(gòu)設(shè)計(jì)</b>1

    Qt學(xué)習(xí)筆記數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)5

    Qt中,Qt為SQL數(shù)據(jù)庫提供支持的基本模塊。Qt SQL的API分為不同的層: ·驅(qū)動層 ·SQL API層 ·用戶接口層
    的頭像 發(fā)表于 02-17 13:56 ?780次閱讀
    <b class='flag-5'>Qt</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>結(jié)構(gòu)設(shè)計(jì)</b>5

    Qt學(xué)習(xí)筆記數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)6

    Qt中,Qt為SQL數(shù)據(jù)庫提供支持的基本模塊。Qt SQL的API分為不同的層: ·驅(qū)動層 ·SQL API層 ·用戶接口層
    的頭像 發(fā)表于 02-17 13:57 ?501次閱讀
    <b class='flag-5'>Qt</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>結(jié)構(gòu)設(shè)計(jì)</b>6

    Qt學(xué)習(xí)筆記數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)7

    Qt中,Qt為SQL數(shù)據(jù)庫提供支持的基本模塊。Qt SQL的API分為不同的層: ·驅(qū)動層 ·SQL API層 ·用戶接口層
    的頭像 發(fā)表于 02-17 13:57 ?520次閱讀
    <b class='flag-5'>Qt</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>結(jié)構(gòu)設(shè)計(jì)</b>7