中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

QT訪問QSqlite數據庫的實例

發布時間:2020-07-31 02:55:15 來源:網絡 閱讀:1541 作者:WZM3558862 欄目:數據庫

QtSql模塊提供了與平臺以及數據庫種類無關的訪問SQL數據庫的接口,這個接口由利用Qt的模型視圖結構將數據庫與用戶界面集成的一套類來支持。
QSqlDatabase對象象征了數據庫的關聯。Qt使用驅動程序與各種數據庫的應用編程接口進行通信。Qt的桌面版(Desktop Edition)包括如下一些驅動程序:

 驅動程序 數據庫 
 QDB2 IBM DB2 7.1版以及更新的版本 
 QIBASE Borland InterBase
 QMYSQL MySql 
 QOCI 甲骨文公司(Oracle Call Interface)
 QODBC ODBC(包括微軟公司的QSL服務)
 QPSQL PostgreSQL的7.3版以及更高版本 
 QSQLITE QSLite第3版 
 QSQLITE2 QSLite第2版

 QTDS Qybase自適應服務器 


訪問QSqlite數據庫的實例:

步驟:

1、創建Qt控制臺程序。
2、在pro問價中添加QT +=sql;
3、在main.cpp中添加如下代碼:


[cpp] view plain copy print?QT訪問QSqlite數據庫的實例QT訪問QSqlite數據庫的實例

  1. #include <QCoreApplication>  

  2. #include <QSql>  

  3. #include <QSqlDatabase>  

  4. #include <QSqlError>  

  5. #include <QSqlQuery>  

  6. #include <QString>  

  7. #include <QFile>  

  8. #include <QDebug>  

  9. #include <QVariantList>  

  10.   

  11. int main(int argc, char *argv[])  

  12. {  

  13.     QCoreApplication a(argc, argv);  

  14.   

  15.     QSqlDatabase database = QSqlDatabase::addDatabase("QSQLITE");  

  16.   

  17.     database.setDatabaseName("CashSystem.db");  

  18.   

  19.     if(database.open())  

  20.     {  

  21.         qDebug()<<"Database Opened";  

  22.   

  23.         QSqlQuery sql_query;  

  24.         QString create_sql = "create table member (id int primary key, name varchar(30), address varchar(30))"//創建數據表  

  25.         QString insert_sql = "insert into member values(?,?,?)";    //插入數據  

  26.   

  27.         QString select_all_sql = "select * from member";  

  28.   

  29.         sql_query.prepare(create_sql); //創建表  

  30.         if(!sql_query.exec()) //查看創建表是否成功  

  31.         {  

  32.             qDebug()<<QObject::tr("Table Create failed");  

  33.             qDebug()<<sql_query.lastError();  

  34.         }  

  35.         else  

  36.         {  

  37.             qDebug()<< "Table Created" ;  

  38.   

  39.             //插入數據  

  40.             sql_query.prepare(insert_sql);  

  41.   

  42.             QVariantList GroupIDs;  

  43.             GroupIDs.append(0);  

  44.             GroupIDs.append(1);  

  45.             GroupIDs.append(2);  

  46.   

  47.             QVariantList GroupNames;  

  48.             GroupNames.append("hsp");  

  49.             GroupNames.append("rl");  

  50.             GroupNames.append("spl");  

  51.   

  52.             QVariantList GroupAddress;  

  53.             GroupAddress.append("南充");  

  54.             GroupAddress.append("寶雞");  

  55.             GroupAddress.append("南充");  

  56.   

  57.             sql_query.addBindValue(GroupIDs);  

  58.             sql_query.addBindValue(GroupNames);  

  59.             sql_query.addBindValue(GroupAddress);  

  60.   

  61.             if(!sql_query.execBatch())  

  62.             {  

  63.                 qDebug()<<sql_query.lastError();  

  64.             }  

  65.             else  

  66.             {  

  67.                 qDebug()<<"插入記錄成功";  

  68.             }  

  69.   

  70.             //查詢所有記錄  

  71.             sql_query.prepare(select_all_sql);  

  72.             if(!sql_query.exec())  

  73.             {  

  74.                 qDebug()<<sql_query.lastError();  

  75.             }  

  76.             else  

  77.             {  

  78.                 while(sql_query.next())  

  79.                 {  

  80.                     int id = sql_query.value(0).toInt();  

  81.                     QString name = sql_query.value(1).toString();  

  82.                     QString address = sql_query.value(2).toString();  

  83.                     qDebug()<<QString("ID:%1  Name:%2  Address:%3").arg(id).arg(name).arg(address);  

  84.                 }  

  85.             }  

  86.         }  

  87.     }  

  88.     database.close();  

  89.    // QFile::remove("CashSystem.db");  

  90.     return a.exec();  

  91. }  



4、運行截圖:


QT訪問QSqlite數據庫的實例

5、在項目的debug文件夾下,生成了對應的.db文件,使用navicat forSqlite工具打開,顯示結果如下:

QT訪問QSqlite數據庫的實例


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

繁峙县| 昭觉县| 高密市| 广南县| 土默特左旗| 黑龙江省| 平果县| 扬州市| 调兵山市| 屏东市| 阆中市| 集贤县| 桑植县| 怀来县| 松滋市| 澄城县| 镇赉县| 保山市| 陇西县| 岳普湖县| 松潘县| 罗城| 宜良县| 广宗县| 开封县| 新宁县| 慈利县| 吉林省| 拉萨市| 朝阳区| 汉中市| 赫章县| 雷波县| 莆田市| 利辛县| 中宁县| 衡阳市| 马鞍山市| 大城县| 凌云县| 台中县|