Qt數(shù)據(jù)庫編程_第1頁
Qt數(shù)據(jù)庫編程_第2頁
Qt數(shù)據(jù)庫編程_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Qt數(shù)據(jù)庫編程公司標(biāo)準(zhǔn)化編碼QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9NQt數(shù)據(jù)庫編程現(xiàn)在我們講使用數(shù)據(jù)庫來進(jìn)行變成,具體的提供了 SELECT INSERT UPDATE DELETE等數(shù)據(jù)庫的執(zhí)行語句,這是在數(shù)據(jù)庫的接口,當(dāng)在圖形下顯示數(shù)據(jù)時(shí)需要使用到QSqlTableModel .所以在數(shù)據(jù)庫編程之前需要掌握基 礎(chǔ)的SQL命令語句。數(shù)據(jù)庫驅(qū)動(dòng)成相關(guān)聯(lián)的累包含了 QSqlDriver , QSqlDriverCreatpor , QSqlDriverCreatorBase, QSqlDriverPlugin 與 QSqlResult .數(shù)據(jù)庫的應(yīng)用程序接口層這些累提供了訪問

2、數(shù)據(jù)庫,提出一個(gè)連接請(qǐng)求,如同文件訪問一樣,當(dāng) 連接成功,講通過判斷信息返回信息,只要建立了連接就可以使用QSqlQuery類,來操作數(shù)據(jù)庫,在連接數(shù)據(jù)庫之后還提供了兒個(gè)類,例如 QSqlError , QSqlField , QSqlIndex , 與 QSqlRecord用戶接口層這些累提供了與數(shù)據(jù)相關(guān)的不見,包含了 QSqlQueryModel, QSqlTableModel,與QSqlRelationTableModel。這些類的定義使用是用來提 供數(shù)據(jù)庫的模式與試圖來設(shè)計(jì)的。連接到數(shù)據(jù)庫如果要建立一個(gè)數(shù)據(jù)庫的連接,首先要知道使用的什么數(shù)據(jù)庫,并為這 個(gè)數(shù)據(jù)庫的連接加載驅(qū)動(dòng),如果是my

3、sql數(shù)據(jù)庫,都會(huì)有用戶名與密碼,這也是必須設(shè)置的,被連接的數(shù)據(jù)庫或許在本地或者在遠(yuǎn)程的某臺(tái)計(jì)算機(jī)上, 所以需要設(shè)置一個(gè)主機(jī)的名稱來區(qū)別。下面是連接數(shù)據(jù)庫的例子:QSqlDatabase db = QSqlDatabase : : addDatabase (Z/QNYSQL/Z); ("bigblue");("flightdb");(/acarlson,/);CluTbSbAs");bool ok =();我們同時(shí)也可以建立兩個(gè)數(shù)據(jù)庫的連接:QSqlDatabase f irstDB = QSqlDatabase: : addDatabase

4、(/QNIYSQL,/, "first");QSqlDatabase secondDB = QSqlDatabase: : addDatabase (/QMYSQL,/, "second");在打開數(shù)據(jù)庫的時(shí)候有可能會(huì)發(fā)生錯(cuò)誤,這里提供了一個(gè)靜態(tài)的函數(shù), QSqlDatabase: : lastError ()來返回”1前所發(fā)生的錯(cuò)誤。與文件相同.'勺打開了 一個(gè)數(shù)據(jù)的時(shí)候,需要在操作完畢后關(guān)閉數(shù)據(jù)庫,使用 QSqlDatabase: : close (), 之后調(diào)用 QSqlDatdbase: :removeDatdbase ().執(zhí)行數(shù)據(jù)庫語

5、句QSqlQuery提供了執(zhí)行數(shù)據(jù)庫語句的方法,它可以返回所有的執(zhí)行結(jié)果。 當(dāng)建立好數(shù)據(jù)庫連接后可以使用QSqlQuery: : exec ()如同下面的語句:QSqlQuery query;(z/SELECT name, salary FROM employee WHERE salary > 50000");當(dāng)QSqlQuery建立了一個(gè)構(gòu)造之后,將會(huì)接受特定的QSqlDatabase對(duì) 象連接來使用,正如上面的代碼。瀏覽查詢結(jié)果QSqlQuery當(dāng)執(zhí)行exec()之后將會(huì)把指針放在記錄第一個(gè)記錄之上,所 以需要調(diào)用QSqlQuery: next ()來獲取第一個(gè)數(shù)據(jù)下面的代碼,通過一個(gè)循 環(huán)體來便利所有表中的數(shù)據(jù):wh訂 e () QString name = (0). toStringO :int salary = (1).tolnt(); qDebug() « name « salary;QSqlQuery: :value()函數(shù)當(dāng)前記錄區(qū)域中的數(shù)據(jù),作為默認(rèn)的 QSqlValue: : value ()返回的是一個(gè)QVariant類型。提供了兒種可選類型的 支持,他們是C+的基本的類型,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論