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

QT與數(shù)據(jù)庫(kù)連接實(shí)例

移動(dòng)開(kāi)發(fā)
QT與數(shù)據(jù)庫(kù)連接實(shí)例與大家分享一下,數(shù)據(jù)庫(kù)的連接的時(shí)候一般都會(huì)出現(xiàn)一些曉得問(wèn)題,如果你也出現(xiàn)過(guò)問(wèn)題,那么本文將會(huì)幫你解決問(wèn)題。

本文介紹的是QT數(shù)據(jù)庫(kù)連接實(shí)例,首先加載驅(qū)動(dòng)db=QSqlDatabase::addDatabase("QODBC","db"); // 使用odbc數(shù)據(jù)庫(kù)驅(qū)動(dòng),詳細(xì)內(nèi)容請(qǐng)看下文。

連接數(shù)據(jù)庫(kù)需要的頭文件:

  1. #include <QSqlDatabase> 
  2. #include <QSqlQuery> 

1、連接微軟的Access

 

  1. QSqlDatabase ldb = QSqlDatabase::addDatabase("QODBC");  
  2. ldb.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=system.mdb;UID=;PWD=xiaozhuset");  
  3. bool ok = ldb.open();  
  4. //新定義一個(gè)查詢集合,并指定 鏈接關(guān)鍵字。 如果有多個(gè)連接,可以隨意指定一個(gè)你需要的。  
  5. QSqlQuery mquery=QSqlQuery::QSqlQuery(ldb);          
  6. if(ok)  
  7. {  
  8. bool isok=mquery.exec("select * from sql_set;");  
  9. if (!isok)  
  10. {  
  11. ldb.close();  
  12. return -1;  
  13. }         
  14. //這個(gè)是必須的,因?yàn)椴樘幍慕Y(jié)果集當(dāng)前位置不在***條記錄上。  
  15. mquery.next();  
  16. QString sHostName=mquery.value(1).toString();  
  17. QString sDatabaseName=mquery.value(2).toString();  
  18. QString sUserName=mquery.value(3).toString();  
  19. QString sPassword=mquery.value(4).toString();  
  20. //清除結(jié)果集  
  21. mquery.clear();  
  22. // 如果該連接不再使用,就可以關(guān)閉。  
  23. ldb.close();  
  24. //這里是將從數(shù)據(jù)庫(kù)讀出的數(shù)據(jù)寫到一個(gè)list控件里  
  25. ui.list_out->insertItem(ui.list_out->count(),sHostName);  
  26. ui.list_out->insertItem(ui.list_out->count(),sDatabaseName);      
  27. }  
  28. else  
  29. {   
  30. // 打開(kāi)本地?cái)?shù)據(jù)庫(kù)失敗,  
  31. QMessageBox::critical(0, QObject::tr("讀取Access數(shù)據(jù)庫(kù)錯(cuò)誤!"),db.lastError().text());  
  32. return -1;  
  33. }     

2、連接mssql2000 數(shù)據(jù)庫(kù)

  1. QString strDatabaseName = QString("DRIVER={SQL Server};Server=(%1);Database=%2").arg("local").arg(sDatabaseName);      
  2. db=QSqlDatabase::addDatabase("QODBC","db"); // 使用odbc數(shù)據(jù)庫(kù)驅(qū)動(dòng)   
  3. db.setHostName(sHostName);  
  4. db.setPort(1433);  
  5. db.setDatabaseName(strDatabaseName); // 我們之前建立的數(shù)據(jù)庫(kù)連接關(guān)鍵字  
  6. db.setUserName(sUserName);   
  7. db.setPassword(sPassword);   
  8. bool ok = db.open(); //嘗試連接數(shù)據(jù)庫(kù)  
  9. if(ok)  
  10. {   
  11. menuset_set->dbdb=db;   // 這里用sa已經(jīng)成功連上數(shù)據(jù)庫(kù)     
  12. return 0;  
  13. }  
  14. else  
  15. {   
  16. // 打開(kāi)數(shù)據(jù)庫(kù)失敗,  
  17. QMessageBox::critical(0, QObject::tr("數(shù)據(jù)庫(kù)連接錯(cuò)誤!"),db.lastError().text());  
  18. return -2;  
  19. }          
  20. mssql2000數(shù)據(jù)庫(kù)連接的使用和Access連接使用方法一樣。  
  21. QSqlQuery mquery=QSqlQuery::QSqlQuery(db);     
  22. bool ok1=mquery.exec("select * from CarteMenu;");  
  23. if (ok1==false)return -1;  
  24. QString menu_mkey=mquery.value(13).toString();  
  25. QString strmenu_lang=mquery.value(3).toString();  
  26. //清除結(jié)果集  
  27. mquery.clear(); 

3、連接mysql 數(shù)據(jù)庫(kù)

  1. QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); // 使用mysql數(shù)據(jù)庫(kù)驅(qū)動(dòng)   
  2. db.setHostName("localhost");  
  3. db.setDatabaseName("exampledb"); // 數(shù)據(jù)庫(kù)名稱  
  4. db.setUserName("sa"); // 用戶名  
  5. db.setPassword("1"); // 密碼  
  6. bool ok = db.open(); // 嘗試連接數(shù)據(jù)庫(kù)  
  7. if(ok)  
  8. {   
  9. QSqlQuery myquery;   
  10. if(myquery.exec("select * from employeedb"))  
  11. {   
  12. int num = 0;   
  13. if(db.driver()->hasFeature(QSqlDriver::QuerySize))  
  14. {  
  15. num = myquery.size(); // 如果支持結(jié)果影響的行數(shù),那么直接記錄下來(lái)  
  16. }  
  17. else  
  18. {  
  19. myquery.last(); //否則定位到結(jié)果***  
  20. num = myquery.at() + 1;  
  21. }  
  22. //這里添加數(shù)據(jù)庫(kù)的查詢結(jié)果處理操作  
  23. }   
  24. else // 如果查詢失敗  
  25. {   
  26. QSqlError error = myquery.lastError();  
  27. }  
  28. }  
  29. else // 打開(kāi)數(shù)據(jù)庫(kù)失敗  
  30. {  

小結(jié):QT數(shù)據(jù)庫(kù)連接實(shí)例的內(nèi)容介紹完了,對(duì)于數(shù)據(jù)庫(kù),本人覺(jué)得連接時(shí)要慎重點(diǎn),好像很難連接似得,老是出錯(cuò),不顧本篇文章相信能幫你解決問(wèn)題。

責(zé)任編輯:zhaolei 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-05 10:16:16

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

2011-07-05 14:46:34

2011-08-30 14:38:50

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

2011-06-21 15:31:04

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

2011-07-05 16:08:10

2011-06-27 13:49:43

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

2011-06-27 13:32:21

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

2010-11-29 11:47:26

連接Sybase數(shù)據(jù)庫(kù)

2011-07-05 09:54:04

2011-07-05 18:04:45

QT Mysql

2010-06-01 14:42:55

連接MySQL數(shù)據(jù)庫(kù)

2011-06-10 10:31:57

QT mysql linux

2011-07-05 18:11:13

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

2011-07-05 10:03:00

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

2011-06-23 09:00:04

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

2011-06-27 12:56:28

2009-07-29 09:12:31

ASP.NET數(shù)據(jù)庫(kù)連

2011-07-26 18:11:56

iPhone Sqlite 數(shù)據(jù)庫(kù)

2009-12-31 11:10:01

2009-07-20 14:30:38

jdbc連接數(shù)據(jù)庫(kù)代碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲精品视频免费观看 | 国产日韩在线观看一区 | 精品国产一区二区三区性色av | 欧美激情精品久久久久久变态 | 欧美日本韩国一区二区 | 成人小视频在线观看 | 国产99在线 | 欧美 | 国产精品久久网 | 欧美激情区 | 日韩成人免费视频 | 精品免费国产一区二区三区四区介绍 | 久草免费在线视频 | 老头搡老女人毛片视频在线看 | 自拍偷拍3p| 可以免费观看的av片 | 亚洲视频在线一区 | 激情91| 亚洲精品美女视频 | 欧洲毛片 | 国产精品一区二区久久久久 | h视频免费看 | 天天干天天玩天天操 | 99成人免费视频 | 欧美一级免费 | 91精品久久久久久久99 | 中文字幕av网站 | 99久久精品一区二区毛片吞精 | 国产美女网站 | 日本黄色高清视频 | 91精品国产91久久久久久最新 | 精品视频 免费 | 亚洲国产二区 | 91精品国产91久久久久久密臀 | 欧美黄色大片在线观看 | 正在播放一区二区 | 四虎影视免费在线 | 99久久精品国产一区二区三区 | 久久ww| 欧美日韩亚洲国产 | 国产精品国产三级国产aⅴ入口 | 国产成人午夜高潮毛片 |