偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

詳解 Qt 4訪問Sqlite數(shù)據(jù)庫

移動(dòng)開發(fā)
Qt 4訪問Sqlite數(shù)據(jù)庫是本文要介紹的內(nèi)容,先來認(rèn)識(shí)一下sqlite,它是一款輕量級(jí)的、基于文件的嵌入式數(shù)據(jù)庫

本文介紹的詳解 Qt 4訪問Sqlite數(shù)據(jù)庫,文章不僅對(duì)sqlite做了簡單描述,并且很詳細(xì)的介紹了sqlite的優(yōu)勢(shì)和操作,不多說了,我們先來看內(nèi)容。

sqlite簡介

sqlite 是一款輕量級(jí)的、基于文件的嵌入式數(shù)據(jù)庫,2000年就已經(jīng)誕生,經(jīng)過7年多的發(fā)展,直到今天已經(jīng)成為***的嵌入式數(shù)據(jù)庫,包括google在內(nèi)的公司 在其桌面軟件中亦使用 sqlite 存儲(chǔ)用戶數(shù)據(jù)。由此可以看出,已經(jīng)沒有任何理由去懷疑sqlite的穩(wěn)定性了。

sqlite的優(yōu)勢(shì)

1、免配置,和access一樣,只要把數(shù)據(jù)庫文件通過ftp上傳到服務(wù)器上就可以使用,不需要服務(wù)器的額外支持

2、備份方便,因?yàn)橹皇且粋€(gè)文件,只要復(fù)制一份該文件,就能備份整個(gè)數(shù)據(jù)庫

3、雖然是輕量級(jí)數(shù)據(jù)庫,但他支持*** 2tb 的單個(gè)庫文件。

4、快,***的快。經(jīng)過實(shí)際測試,在幾百萬記錄的情況下,sqlite的插入和查詢速度和 mysql 不分上下,快于 sql server,10倍于 access (但這并不意味著它可以替代 sql server )

用QT操作sqlite,由于sqlite屬于輕量級(jí)的數(shù)據(jù)庫,不需要配置,不需要安裝,也不需要管理員,所以也就沒必要像操作mysql等數(shù)據(jù)庫一樣的設(shè)置主機(jī),用戶和密碼了。樣例如下:

  1. #include <QApplication>   
  2. #include <QTextEdit>   
  3. #include <QString>   
  4. #include <QSqlDatabase>   
  5. #include <QSqlQuery>   
  6. #include <QSqlError>   
  7. #include <QSqlDriver>   
  8. #include <QDateTime>   
  9. #include <QDebug>   
  10. int main(int argc, char *argv[])   
  11. {   
  12.     QApplication app(argc, argv);   
  13.     QTextEdit display;   
  14.     display.resize(400, 160);   
  15.     display.show();  //下面進(jìn)行數(shù)據(jù)庫的設(shè)置   
  16.     QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");  //使用sqlite數(shù)據(jù)庫驅(qū)動(dòng)    
  17.     db.setDatabaseName("test");  //我們之前建立的數(shù)據(jù)庫   
  18. bool ok = db.open();  //嘗試連接數(shù)據(jù)庫   
  19. if (ok)   
  20.     {  //這里用text已經(jīng)成功連上數(shù)據(jù)庫   
  21.         QSqlQuery query;  //新建一個(gè)查詢的實(shí)例   
  22. if (query.exec("select * from student"))   //嘗試列出 student 表的所有記錄   
  23.         {  //本次查詢成功   
  24. int numRows = 0;  //詢問數(shù)據(jù)庫驅(qū)動(dòng),是否驅(qū)動(dòng)含有某種特性    
  25. if (db.driver()->hasFeature(QSqlDriver::QuerySize))   
  26.             {   
  27.                 numRows = query.size();  //如果支持結(jié)果影響的行數(shù),那么直接記錄下來   
  28.             }   
  29. else   
  30.             {   
  31.                 query.last(); //否則定位到結(jié)果***,qt 文檔說,這個(gè)方法非常慢   
  32.                 numRows = query.at() + 1;   
  33.                 query.seek(-1);   
  34.             }   
  35.             QString name, age;   
  36.             display.append("===========================================");    
  37. while(query.next())   
  38.             {  //定位結(jié)果到下一條記錄   
  39.                 name = query.value(0).toString();   
  40.                 age = query.value(1).toString();   
  41.                 QString result = name + " " + age;   
  42.                 display.append(result);   
  43.             }   
  44.             display.append("===========================================");   
  45.             display.append(QString("totally %1 rows").arg(numRows) );   
  46.         }   
  47. else   
  48.         {  //如果查詢失敗,用下面的方法得到具體數(shù)據(jù)庫返回的原因   
  49.             QSqlError error = query.lastError();   
  50.             display.append("From mysql database: " + error.databaseText());   
  51.         }   
  52.     }   
  53. else   
  54.     {  //打開數(shù)據(jù)庫失敗,顯示數(shù)據(jù)庫返回的失敗描述   
  55.         display.append("cannot open database.");   
  56.         display.append("Reason: " + db.lastError().databaseText());   
  57.     }   
  58.     QApplication::connect(&app, SIGNAL(lastWindowClose()), &app, SLOT(quit()));   
  59. return app.exec();   

小結(jié):詳解 Qt 4訪問Sqlite數(shù)據(jù)庫的內(nèi)容介紹完了,希望本文對(duì)你有所幫助。

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

2011-07-05 16:08:10

2011-07-05 14:46:34

2017-07-12 09:20:42

SQLite數(shù)據(jù)庫移植

2011-07-20 12:34:49

SQLite數(shù)據(jù)庫約束

2011-08-30 14:15:34

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

2018-07-13 09:20:30

SQLite數(shù)據(jù)庫存儲(chǔ)

2011-07-05 10:16:16

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

2011-06-23 18:37:02

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

2011-07-26 18:11:56

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

2011-07-27 10:16:41

iPhone SQLite 數(shù)據(jù)庫

2011-07-05 09:54:04

2011-08-30 14:25:06

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

2011-07-04 17:18:23

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

2011-07-04 18:02:29

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

2011-07-05 10:44:51

Qt Sqlite 靜態(tài)編譯

2011-07-05 10:03:00

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

2019-08-15 07:00:54

SQLite數(shù)據(jù)庫內(nèi)存數(shù)據(jù)庫

2024-12-16 00:52:26

MySQL數(shù)據(jù)庫并發(fā)

2011-08-04 18:00:47

SQLite數(shù)據(jù)庫批量數(shù)據(jù)

2024-10-28 16:31:03

點(diǎn)贊
收藏

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