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

淺談關于Qt中數(shù)據(jù)庫編程學習筆記

移動開發(fā)
Qt中的每個數(shù)據(jù)庫連接用一個QSqlDatabase對象來表示,Qt使用不同driver來和各種不同數(shù)據(jù)庫的API進行通訊,來看內(nèi)容。

Qt數(shù)據(jù)庫編程是本文要介紹的內(nèi)容,主要是來學習在QT數(shù)據(jù)庫的編程和數(shù)據(jù)庫的使用方法,具體內(nèi)容來看本文詳解。

QtSql模塊提供了一個平臺無關且數(shù)據(jù)庫無關的訪問SQL數(shù)據(jù)庫的接口。Qt中的每個數(shù)據(jù)庫連接用一個QSqlDatabase對象來表示;Qt使用不同driver來和各種不同數(shù)據(jù)庫的API進行通訊。

QSqlQuery提供了直接執(zhí)行任意SQL語句的特性;此外還提供了兩個高層次的無需SQL命令的數(shù)據(jù)庫接口:

  1. QSqlTableModel和QSqlRelationalTableModelSection1.ConnectingandQuerying 

在執(zhí)行SQL命令前,必須先建立好同數(shù)據(jù)庫的連接。

靜態(tài)函數(shù)QSqlDatabase::addDatabase()用于創(chuàng)建一個新的QSqlDatabase對象,函數(shù)的***個參數(shù)指定了Qt該選擇哪個Driver來訪問數(shù)據(jù)庫。

在對創(chuàng)建的QSqlDatabase對象設定好hostname,databasename,username和password后,需要調(diào)用open()函數(shù)來建立到數(shù)據(jù)庫的連接。

一旦到數(shù)據(jù)庫的鏈接建立好后,就可以通過QSqlQuery::exec()來執(zhí)行底層數(shù)據(jù)庫所支持的任意SQL語句了。

QSqlQuery::next()返回查詢結(jié)果集中的下一行,而QSqlQuery::value()則返回當前行中的某一項的值,以QVariant的形式返回。

可以使用QSqlQuery::isActive()來檢查SQL語句的執(zhí)行是否出現(xiàn)錯誤。

  1. placeholder  
  2. QSqlQuery::prepare()  
  3. QSqlQuery::bindValue()orQSqlQuery::addBindValue()  
  4. QSqlQuery::exec() 

Qt支持數(shù)據(jù)庫中transaction(事務)這個概念。transaction()用于啟動transaction,而commit()或rollback()用于結(jié)束transaction。

靜態(tài)函數(shù)QSqlDatabase::database(),返回指定連接所對應的QSqlDatabase對象。

  1. QSqlDatabase::driver()返回該連接底層所使用的dirver  
  2. QSqlDatabase::hasFeature()可用來查詢底層數(shù)據(jù)庫是否支持某項特性。 

Qt允許在一個程序中創(chuàng)建多個數(shù)據(jù)庫連接,這中情況下在執(zhí)行SQL語句時,需要為QSqlQuery的構(gòu)造函數(shù)傳入要執(zhí)行該語句的數(shù)據(jù)庫對應的QSqlDatabase對象。

與QSqlQuery相比,QSqlTableModel提供了一個更高層次、更抽象的接口,可以避免使用原始的SQL命令。

  1. QSqlTableModel::record()&QSqlTableModel::value()  
  2. QSqlTableModel::insertRow()&QSqlTableModel::setData()  

QSqlTableModel::submitAll(), 與其他model不同,在使用QSqlTableModel時,必須調(diào)用submitAll()來強制所有的修改都寫入數(shù)據(jù)庫。

當需要處理外鍵(foreignkey)時,需要使用QSqlRelationalTableModel而不是QSqlTableModel。

對于使用了SQL相關類的應用程序,需要在對應的.pro中添加下面一行:"QT+=sql",這樣在鏈接時會將QtSql庫鏈入。

小結(jié):淺談關于Qt數(shù)據(jù)庫編程學習筆記的內(nèi)容介紹完了,希望通過本文的學習能對你有所幫助!

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

2011-08-30 14:15:34

QTSQLite數(shù)據(jù)庫

2011-08-30 12:59:52

Qt數(shù)據(jù)庫

2011-08-30 14:59:34

Qt數(shù)據(jù)庫

2011-09-07 16:36:00

Qt Widget

2011-06-13 10:03:19

Qt 多線程 編程

2011-08-22 15:43:08

IOS開發(fā)數(shù)據(jù)庫

2011-08-29 10:34:36

QTQWebKitJavaScript

2011-06-21 15:31:04

Qt 數(shù)據(jù)庫 SQL

2011-07-01 10:03:52

QT 數(shù)據(jù)庫

2011-08-30 13:49:57

Qt數(shù)據(jù)庫QTableView

2011-06-15 11:09:48

Qt PyQt

2011-08-29 10:01:27

QTWebkit插件

2011-08-29 14:27:33

QTWebkit瀏覽器

2011-06-23 09:00:04

QT QODBC 數(shù)據(jù)庫

2020-08-31 07:00:00

數(shù)據(jù)庫數(shù)據(jù)庫同步

2011-08-30 14:25:06

QT數(shù)據(jù)庫

2011-07-01 13:42:24

QT 數(shù)據(jù)庫

2011-06-27 12:56:28

2021-11-26 22:07:57

數(shù)據(jù)庫管理Mongodb

2020-11-20 14:49:56

數(shù)據(jù)庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本不卡一区二区三区 | 麻豆91精品91久久久 | 综合网视频 | 亚洲在线一区二区 | 中文字幕精品一区二区三区精品 | 中文字幕高清免费日韩视频在线 | 国产精品99久久久久久动医院 | 国产成人精品一区二区三区在线 | 日韩精品一区二区三区视频播放 | 国产一区二区三区四区五区加勒比 | 99精品99 | 国产日韩精品在线 | 黑人中文字幕一区二区三区 | 羞羞色在线观看 | 亚州综合在线 | 欧美一二区 | 国产精品99精品久久免费 | 色黄网站 | 国产精品日韩一区 | 一级做a毛片 | 成人av鲁丝片一区二区小说 | 手机av免费在线 | 中文字幕一区二区三 | 精品视频在线一区 | 欧美一区永久视频免费观看 | 91n成人 | 伊人狠狠 | 国产欧美精品在线观看 | 伊人网综合在线观看 | 日本免费在线 | 精品视频在线观看 | 午夜理伦三级理论三级在线观看 | av一区二区三区四区 | 日韩亚洲一区二区 | 97人澡人人添人人爽欧美 | 国产日产精品一区二区三区四区 | 91成人精品 | 日韩在线精品视频 | 国产欧美日韩综合精品一区二区 | 免费网站在线 | 亚洲精品久久嫩草网站秘色 |