Qt之操作資料庫(SQLite)執行個體

來源:互聯網
上載者:User

標籤:address   ant   pos   var   .net   自適應   pre   ring   oracle   

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中添加如下代碼
#include <QCoreApplication>  #include <QSql>  #include <QSqlDatabase>  #include <QSqlError>  #include <QSqlQuery>  #include <QString>  #include <QFile>  #include <QDebug>  #include <QVariantList>    int main(int argc, char *argv[])  {      QCoreApplication a(argc, argv);        QSqlDatabase database = QSqlDatabase::addDatabase("QSQLITE");        database.setDatabaseName("CashSystem.db");        if(database.open())      {          qDebug()<<"Database Opened";            QSqlQuery sql_query;          QString create_sql = "create table member (id int primary key, name varchar(30), address varchar(30))"; //建立資料表          QString insert_sql = "insert into member values(?,?,?)";    //插入資料            QString select_all_sql = "select * from member";            sql_query.prepare(create_sql); //建立表          if(!sql_query.exec()) //查看建立表是否成功          {              qDebug()<<QObject::tr("Table Create failed");              qDebug()<<sql_query.lastError();          }          else          {              qDebug()<< "Table Created" ;                //插入資料              sql_query.prepare(insert_sql);                QVariantList GroupIDs;              GroupIDs.append(0);              GroupIDs.append(1);              GroupIDs.append(2);                QVariantList GroupNames;              GroupNames.append("hsp");              GroupNames.append("rl");              GroupNames.append("spl");                QVariantList GroupAddress;              GroupAddress.append("南充");              GroupAddress.append("寶雞");              GroupAddress.append("南充");                sql_query.addBindValue(GroupIDs);              sql_query.addBindValue(GroupNames);              sql_query.addBindValue(GroupAddress);                if(!sql_query.execBatch())              {                  qDebug()<<sql_query.lastError();              }              else              {                  qDebug()<<"插入記錄成功";              }                //查詢所有記錄              sql_query.prepare(select_all_sql);              if(!sql_query.exec())              {                  qDebug()<<sql_query.lastError();              }              else              {                  while(sql_query.next())                  {                      int id = sql_query.value(0).toInt();                      QString name = sql_query.value(1).toString();                      QString address = sql_query.value(2).toString();                      qDebug()<<QString("ID:%1  Name:%2  Address:%3").arg(id).arg(name).arg(address);                  }              }          }      }      database.close();     // QFile::remove("CashSystem.db");      return a.exec();  } 
4、運行:

5、在項目的debug檔案夾下,產生了對應的.db檔案,使用navicat forSqlite工具開啟,顯示結果如下:

 

參考連結:

1、Qt之操作資料庫(SQLite)執行個體

2、Qt---內建的資料庫QSQLITE

3、在Qt中使用SQLite資料庫

 

Qt之操作資料庫(SQLite)執行個體

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.