在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

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

一、數(shù)據(jù)庫

1、數(shù)據(jù)庫概述

2、數(shù)據(jù)庫操作語句

二、Qt SQL簡介

1、 Qt SQL對數(shù)據(jù)庫支持

2、SQLite數(shù)據(jù)庫初識

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

**一、數(shù)據(jù)庫

**

1、概述

數(shù)據(jù)庫也是應(yīng)用程序的重要部分,一個(gè)完整的應(yīng)用程序幾乎都包含數(shù)據(jù)庫。

當(dāng)前主流的數(shù)據(jù)庫有DB2、MYSQL、OCI、ODBC、SQLITE、TDS、Oracle。

Sqlite是一款輕型的數(shù)據(jù)庫,它的設(shè)計(jì)目標(biāo)是嵌入式,方便我們使用。

2、數(shù)據(jù)庫操作語句

語句:

SELECT * FROM menu WHERE id>20

INSERT INTO menu VALUES(102, HELLO)

DELETE FROM menu WHERE name="wj"

UPDATE menu SET name="weijie"

二、Qt SQL簡介

1、Qt SQL對數(shù)據(jù)庫支持

在Qt中,Qt為SQL數(shù)據(jù)庫提供支持的基本模塊。Qt SQL的API分為不同的層:

·驅(qū)動(dòng)層

·SQL API層

·用戶接口層

(1)驅(qū)動(dòng)層

對于Qt是基于C++來實(shí)現(xiàn)的框架,該層主要包括QSqlDriver,QSqlDriverCreator,QSqlDriverCreatorBase,QSqlDriverPlugin,and QSqlResult。這一層提供了特定數(shù)據(jù)庫和SQL API層之間的底層橋梁。

(2)SQL API層

對于SQL API層提供了數(shù)據(jù)庫的訪問相關(guān)類,其中,QSqlDatabase類進(jìn)行連接,QSqlQuery可以完成與數(shù)據(jù)庫的交互。除此之外,還提供了QSqlError,QSqlField,QSqlIndex,and SQqlRecord類。

(3)用戶接口層

用戶接口層的幾個(gè)類實(shí)現(xiàn)了將數(shù)據(jù)庫中的數(shù)據(jù)鏈接到窗口部件上,這些類是使用模型/視圖框架實(shí)現(xiàn)的,他們是更高層次的抽象,主要包括QSqlQueryModel,QSqlTableModel,and QSqlRelationTableModel。

2、SQLite數(shù)據(jù)庫初識

對于數(shù)據(jù)庫操作流程主要分為:

第一步:在項(xiàng)目管理文件(.pro)中,增加數(shù)據(jù)庫模塊

QT += core gui sql

第二步:查看Qt對數(shù)據(jù)庫的驅(qū)動(dòng)的類型的支持

QStringList drivers = QSqlDatabase::drivers();//獲取到qt中所支持的數(shù)據(jù)庫驅(qū)動(dòng)類型


foreach(QString driver,drivers)
{
    qDebug() << driver;
}

第三步:連接和打開數(shù)據(jù)庫

db = QSqlDatabase::addDatabase("QSQLITE");  //QSQLITE----他來告訴系統(tǒng),連接的數(shù)據(jù)庫是sqlite3數(shù)據(jù)庫
                                                //連接成功,返回一個(gè)數(shù)據(jù)庫對象(QSqlDatabase)
    db.setDatabaseName("test.db");    //設(shè)置數(shù)據(jù)庫名,數(shù)據(jù)庫文件后綴為.db
    db.setUserName("admin");          //設(shè)置數(shù)據(jù)庫用戶名
    db.setPassword("admin");          //設(shè)置數(shù)據(jù)庫密碼
    //如果想要進(jìn)一步操作數(shù)據(jù)庫,那么就必須進(jìn)行數(shù)據(jù)庫打開操作
    if (!db.open())
    {
        qDebug()<<"Error failed to open" <<db.lastError();
        return false;
    }
    else
    {
        qDebug() << "open success";
    }

第四步:訪問數(shù)據(jù)庫

訪問數(shù)據(jù)庫的操作主要包括:

(1)創(chuàng)建表;

(2)向數(shù)據(jù)庫表中插入數(shù)據(jù);

(3)刪除數(shù)據(jù);

(4)更新數(shù)據(jù);

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

對于數(shù)據(jù)庫中的表,通常只需要?jiǎng)?chuàng)建一次,而其他的操作是可以重復(fù)。

(1)創(chuàng)建表

QSqlQuery query;//在創(chuàng)建該對象時(shí),系統(tǒng)會(huì)自動(dòng)完成跟數(shù)據(jù)庫的關(guān)聯(lián)
//定義一個(gè)創(chuàng)建表的sql語句    表名:staff    表中的字段:id    name    age
QString sqlCreate = "create table staff(id integer primary key autoincrement,"
                        "name varchar(20),"
                        "age int);";
query.exec(sqlCreate);

使用圖形化工具查看的程序結(jié)果:

圖片

(2)向數(shù)據(jù)庫表中插入數(shù)據(jù)

插入操作語法:

INSERT INTO TABLE_NAME(column1, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN)

INSERT INTO ------關(guān)鍵字

TABLE_NAME ------表名

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

插入數(shù)據(jù)操作實(shí)例:

//插入操作
QString sqlInset = QString("insert into staff(name,age) values('張三',20);");
if(!query.exec(sqlInset))
{
    qDebug() << "insert data error" << db.lastError();
}

(3)刪除數(shù)據(jù)

數(shù)據(jù)庫刪除操作:

基本語法:

DELETE FROM table_name WHERE [condition]

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

table_name ---- 表名

WHERE ---- 條件的關(guān)鍵字

[condition] ---- 條件表達(dá)式

刪除數(shù)據(jù)操作實(shí)例

//刪除操作
QString sqlDelete = QString("DELETE FROM staff where id = 2;");
if(!query.exec(sqlDelete))
{
    qDebug() << "delete data error" << db.lastError();
}

(4)更新數(shù)據(jù)

數(shù)據(jù)庫更新操作:

基本語法:

UPDATE table_name SET column1 = value1, column2 = value2,...,column = valueN WHERE [condition];

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

Table_name ----表名

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

column1 = value1 ------- 要修改的字段名和所對應(yīng)的值

WHERE ----- 條件的關(guān)鍵字

[condition] --- 條件表達(dá)式

聲明:本文內(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)注

    5141

    文章

    19537

    瀏覽量

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

    關(guān)注

    7

    文章

    3901

    瀏覽量

    65779
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    849

    瀏覽量

    27542
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎ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ì)2

    數(shù)據(jù)庫也是應(yīng)用程序的重要部分,一個(gè)完整的應(yīng)用程序幾乎都包含數(shù)據(jù)庫。 當(dāng)前主流的數(shù)據(jù)庫有DB2、MYSQL、OCI、ODBC、SQLITE、TDS、Oracle。 Sqlite是一款輕型的
    的頭像 發(fā)表于 02-17 11:25 ?691次閱讀
    <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>2

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

    Qt中,Qt為SQL數(shù)據(jù)庫提供支持的基本模塊。Qt SQL的API分為不同的層: ·驅(qū)動(dòng)層 ·SQL API層 ·用戶接口層
    的頭像 發(fā)表于 02-17 13:56 ?994次閱讀
    <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ū)動(dòng)層 ·SQL API層 ·用戶接口層
    的頭像 發(fā)表于 02-17 13:57 ?677次閱讀
    <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ū)動(dòng)層 ·SQL API層 ·用戶接口層
    的頭像 發(fā)表于 02-17 13:57 ?678次閱讀
    <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
    主站蜘蛛池模板: 国产一区在线播放 | 欧美日韩国产网站 | 免费免费啪视频在线 | 天堂影院在线 | 国产免费好大好硬视频 | 爽天天天天天天天 | 国产女在线 | 97色婷婷成人综合在线观看 | 女人张开腿男人猛桶视频 | 天天在线免费视频 | 69国产成人综合久久精品 | 91男女视频| 欧美日韩一区二区三区毛片 | 婷婷国产成人久久精品激情 | 99视频精品全国免费 | 四虎影院在线观看免费 | 婷婷综合久久中文字幕蜜桃三 | 久久亚洲精品国产精品婷婷 | 手机视频在线播放 | 狂野欧美性色xo影院 | 男人午夜网站 | 亚洲一区二区三区免费视频 | 天天做天天爽天天谢 | www永久免费视频 | 精品国产第一国产综合精品gif | 伊人欧美在线 | 久久美女性网 | 理论视频在线观看 | 狠狠躁夜夜躁人人爽天天天天 | 成人18视频拍拍拍拍拍拍 | 无夜精品久久久久久 | 天天狠狠色噜噜 | 曰韩毛片 | 8000av在线| 特大一级aaaaa毛片 | 日本三级免费 | 黄 色 片 在 线 看 | 日韩插插 | 香蕉视频黄色在线观看 | 拍拍拍交性免费视频 | 可以免费看黄的网址 |