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

Qt數據庫編程 SQL連接

移動開發
QSqlQuery包括了所有的功能,像在一個QSqlDatabase上執行SQL查詢創建、導航和索取數據等等。 它可以執行DML(數據操作語言)語句,比如 SELECT, INSERT, UPDATE 和 DELETE, 還可以執行DDL(數據定義語言)語句,比如:CREATE TABLE。

如果要使用QSqlQuery或QSqlCursor類,則少要連接并打開一個數據庫連接。如果應用程序只需要一個數據庫連接,QSqlDatabase類可以創建一個為所有SQL操作所利用的默認連接,如果需要多個數據庫連接,每個連接也可以容易地建立。QSqlDatabase需要qsqldatabase.h這個頭文件。

Qt Sql模塊提供了一個平臺無關且數據庫無關的訪問SQL數據庫的接口。

Qt中的每個數據庫連接用一個QSqlDatabase對象來表示;Qt使用不同driver來和各種不同數據庫的API進行通訊。

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

QSqlTableModel和QSqlRelationalTableModel :Section 1. Connecting and Querying

在執行SQL命令前,必須先建立好同數據庫的連接。

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

在對創建的QSqlDatabase對象設定好host name,database name ,username和password后,需要調用open()函數來建立到數據庫的連接。

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

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

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

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

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

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

QSqlDatabase::driver() 返回該連接底層所使用的dirver

QSqlDatabase::hasFeature()可用來查詢底層數據庫是否支持某項特性。

Qt允許在一個程序中創建多個數據庫連接,這中情況下在執行SQL語句時,需要為QSqlQuery的構造函數傳入要執行該語句的數據庫對應的QSqlDatabase對象。

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

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

于其他model不同,在使用QSqlTableModel時,必須調用submitAll()來強制所有的修改都寫入數據庫

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

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

小結:Qt數據庫編程 SQL連接的內容介紹完了,QSqlQuery的這個類要了解清楚,希望本文能夠幫助到你,幫你解決問題。

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-06-23 09:00:04

QT QODBC 數據庫

2011-06-21 15:11:04

QT 數據庫

2011-08-30 14:15:34

QTSQLite數據庫

2011-08-30 14:59:34

Qt數據庫

2011-07-05 09:54:04

2011-07-05 10:16:16

Qt 數據庫 SQLite

2024-01-02 08:47:42

2011-06-27 12:56:28

2011-08-30 14:38:50

QT數據庫

2011-06-10 10:31:57

QT mysql linux

2011-07-05 10:03:00

Qt MYSQL 數據庫

2011-07-05 18:11:13

Qt 數據庫

2011-08-30 13:33:29

Qt數據庫

2011-08-23 17:33:00

SQLAndroid

2011-08-30 13:49:57

Qt數據庫QTableView

2011-08-09 09:31:39

SQL Server數connectionS

2009-07-07 17:42:28

2015-10-30 14:00:33

adosybaseodbc

2011-07-05 14:46:34

2010-10-26 15:54:02

連接oracle數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品国产一二三 | 国产ts人妖系列高潮 | 日本精品一区 | 精品久久久久久久人人人人传媒 | 亚洲3级| 亚洲成av人片在线观看无码 | 国产精品揄拍一区二区 | 四虎成人在线播放 | 日韩伦理一区二区三区 | 成人国产一区二区三区精品麻豆 | 一区二区精品在线 | 99精品一区二区三区 | 91传媒在线观看 | 99久久精品国产一区二区三区 | 亚洲精品久久久久久国产精华液 | 欧美日韩亚洲国产综合 | 久在线视频播放免费视频 | 高清国产午夜精品久久久久久 | 中文字幕乱码一区二区三区 | 日韩免费 | 婷婷国产一区二区三区 | 亚洲国产成人精品女人久久久 | 色婷婷九月| 91五月婷蜜桃综合 | 久久久国产一区二区三区四区小说 | 国产日产久久高清欧美一区 | 另类在线| h在线看| 午夜视频在线观看网站 | 国产不卡视频在线 | 欧美一区二区三区免费在线观看 | av网站在线播放 | 国产久视频 | 亚洲成人免费 | 在线免费观看黄色网址 | jdav视频在线观看免费 | 国产欧美性成人精品午夜 | 欧美精品一区二区在线观看 | 日韩国产欧美在线观看 | 国产91在线播放 | 成人免费在线观看 |