成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

關于 Qt中數據庫簡單學習教程

移動開發
OT數據庫是本文要介紹的內容,主要是來了解QT中的數據庫的學習,Qt中使用QtSql模塊實現了對數據庫的完美支持,具體內容的實現來看本文詳解,

OT 數據庫是本文要介紹的內容,主要是來了解QT中的數據庫的學習。Qt中使用QtSql模塊實現了對數據庫的***支持,這個模塊是一組類的集合,使用這個模塊我們需要加入頭文件#include <QtSql>,而在工程文件中需要加入一行代碼:

  1. QT += sql 

QSqlDatabase 數據庫

QSqlQuery 執行sql相關語句事務是數據庫的一個重要功能,所謂事務是用戶定義的一個數據庫操作序列,這些操作要么全做要么全不做,是一個不可分割的工作單位。在Qt中用transaction()開始一個事務操作,用commit()

函數或rollback()函數進行結束。commit()表示提交,即提交事務的所有操作。具體地說就是將事務中所有對數據庫的更新寫回到數據庫,事務正常結束rollback()表示回滾,即在事務運行的過程中發生了某種故障,事務不能繼續進行,系統將事務中對數據庫的所有已完成的操作全部撤銷,回滾到事務開始時的狀態。

QSqlDatabase::database()返回程序前面所生成的連接的QSqlDatabase對象。hasFeature()函數可以查看一個數據庫是否支持事務。

Qt中使用了自己的機制來避免使用SQL語句,它為我們提供了更簡單的數據庫操作和數據顯示模型。它們分別是只讀的QSqlQueryModel,操作單表的QSqlTableModel和以及可以支持外鍵的QSqlRelationalTableModel。

要想使其可讀寫,需要自己的類繼承自QSqlQueryModel,并且重寫setData() 和 flags() 兩個函數。如果我們要改變數據的顯示,就要重寫data() 函數。

QSqlTableModel,該類提供了一個可讀寫單張SQL表的可編輯數據模型。可修改,插入,刪除,查詢,和排序。

這個模型可以將所有修改先保存到model中,只有當我們執行提交修改后,才會真正寫入數據庫。當然這也是因為我們在最開始設置了它的保存策略:

  1. model->setEditStrategy(QSqlTableModel::OnManualSubmit); 

OnManualSubmit表明我們要提交修改才能使其生效。

QSqlRelationalTableModel,該類為單張的數據庫表提供了一個可編輯的數據模型,它支持外鍵。

在Qt中的QSqlRelationalDelegate委托類就能實現修改相關表。我們只需添加加一行代碼:

  1. ui->tableView->setItemDelegate(new QSqlRelationalDelegate(ui->tableView));  
  2. QT += xml  

QtXml Module它們主要是服務于兩種操作XML文檔的方法:DOM和SAX。Dom(Document Object Model,即文檔對象模型)把XML文檔轉換成應用程序可以遍歷的樹形結構,這樣便可以隨機訪問其中的節點。它的缺點是需要將整個XML文檔讀入內存,消耗內存較多。

在QDom中,是將整個XML文件讀到內存中的doc對象中的。然后使用節點(QDomNode )操作doc對象,像XML說明,元素,屬性,文本等等都被看做是節點,這樣就使得操作XML文檔變得很簡單,我們只需通過轉換函數將節點轉換成相應的類型,如

  1. QDomElement e = n.toElement(); 

如果你只想讀取并顯示整個XML文檔,那么SAX是很好的選擇,因為它提供了比DOM更簡單的接口,并且它不需要將整個XML文檔一次性讀入內存,這樣便可以用來讀取較大的文件。

在Qt的QtXml模塊中提供了一個QXmlSimpleReader的類,它便是基于SAX的XML解析器。這個解析器是基于事件的,但這些事件由它自身進行關聯,我們并不需要進行設置。我們只需知道,當解析器解析一個XML的元素時,就會執行相應的事件,我們只需要重寫這些事件處理函數,就能讓它按照我們想法進行解析。

小結:關于 Qt 數據庫簡單學習教程的內容介紹完了,希望通過本文的學習能對你有所幫助!

責任編輯:zhaolei 來源: CSDN博客
相關推薦

2011-08-30 13:33:29

Qt數據庫

2011-08-30 14:15:34

QTSQLite數據庫

2011-06-27 12:56:28

2011-08-30 15:32:08

QtQuickQML

2011-07-01 10:03:52

QT 數據庫

2011-08-30 14:59:34

Qt數據庫

2011-08-23 16:37:05

Lua數學庫

2011-08-30 15:49:03

QtQuick

2009-06-02 14:36:28

HibernateMySQLEclipse

2011-07-05 18:11:13

Qt 數據庫

2011-08-30 14:25:06

QT數據庫

2011-07-01 13:42:24

QT 數據庫

2011-07-05 14:46:34

2011-09-01 15:39:43

QT數據庫

2011-08-05 16:31:47

iPhone 數據庫

2011-07-04 11:21:59

QT Designer

2018-01-03 14:32:32

2011-08-30 13:49:57

Qt數據庫QTableView

2011-06-23 18:37:02

Qt 數據庫

2011-06-21 15:11:04

QT 數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品一区二区三区在线观看国产 | 91在线观看免费视频 | 精品国产乱码久久久久久久久 | 视频国产一区 | 伊人伊成久久人综合网站 | 中文字幕精品一区二区三区精品 | 91欧美激情一区二区三区成人 | 高清一区二区三区 | 欧产日产国产精品99 | 97人人澡人人爽91综合色 | 欧美综合在线观看 | 亚洲三区视频 | 国产午夜精品久久久 | 91精品国产综合久久国产大片 | 久久精品一区 | 久久久夜夜夜 | 国产精品美女久久久久久免费 | 中文字幕一区二区三区不卡 | 国产一区二区日韩 | 日本在线精品视频 | 久久久久久久久久久国产 | 亚洲精品免费在线 | 特级黄一级播放 | 日韩欧美在线观看 | 91麻豆精品一区二区三区 | 三级成人在线观看 | 亚洲黄色片免费观看 | 亚洲男人天堂 | 在线日韩| 国产最新精品视频 | 日韩成人免费视频 | 日韩不卡一区二区三区 | 全部免费毛片在线播放网站 | 日韩中文字幕网 | 精品九九在线 | 成人精品毛片国产亚洲av十九禁 | 国产亚洲精品久久久久动 | 亚洲一区二区中文字幕在线观看 | 亚洲成人网在线观看 | 国产成人精品a视频一区www | 免费看a|