日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Qt操作SQLite数据库练习(20200215)

發布時間:2024/9/21 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt操作SQLite数据库练习(20200215) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <QCoreApplication> #include <QDebug> #include <QSqlDatabase> #include <QSqlQuery> #include <QString> #include <QSqlRecord>int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);//! 添加數據庫驅動QSqlDatabase mySqlLiteDB = QSqlDatabase::addDatabase("QSQLITE");//! 設置數據庫名稱mySqlLiteDB.setDatabaseName("E:/work/qe/mytest1/database.db");//! 打開數據庫if(!mySqlLiteDB.open())return false;//! 以下執行相關sql語句QSqlQuery mySqlQuery;//! 清空student表mySqlQuery.exec("drop table student");//! 新建student表,id設置為主鍵,還有一個name項mySqlQuery.exec("create table student (id int primary key, name vchar,course int)");//!批量導入QStringList strListStdName;strListStdName<<"wang bin"<<"xiao yu"<<"ye mei";QStringList strListStdCourse;strListStdCourse<<"Math"<<"English"<<"Computer";mySqlQuery.prepare("INSERT INTO student (id,name, course) ""VALUES (:id,:name, :course)");for (int i = 0; i < strListStdName.size(); i++){mySqlQuery.bindValue(":id",i); //! 加入主鍵mySqlQuery.bindValue(":name", strListStdName[i]); //! 向綁定值里加入名字mySqlQuery.bindValue(":course", strListStdCourse[i]); //! 課程mySqlQuery.exec(); //! 加入庫中}//! 向表中插入1條數據mySqlQuery.bindValue(0,3);mySqlQuery.bindValue(1,"wang han");mySqlQuery.bindValue(2,"Chinese");mySqlQuery.exec();mySqlQuery.exec("insert into student values(3,'wang han','Chinese')");//! 查找表中id >=1 的記錄的id項和name項的值mySqlQuery.exec("select * from student where id >= 0");//! query.next()指向查找到的第一條記錄,然后每次后移一條記錄QSqlRecord mySqlRec = mySqlQuery.record();while(mySqlQuery.next()){//! 獲取query所指向的記錄在結果集中的編號int nRowNum = mySqlQuery.at();//! 獲取每條記錄中屬性(即列)的個數int nColumnNum = mySqlQuery.record().count();//! 獲取"name"屬性所在列的編號,列從左向右編號,最左邊的編號為0int nFieldNo = mySqlQuery.record().indexOf("name");nFieldNo = mySqlRec.indexOf("course");//! 獲取id屬性的值,并轉換為int型int stud_id = mySqlQuery.value(0).toInt();//! 獲取name屬性的值QString stud_name = mySqlQuery.value(1).toString();//! 獲取course屬性的值QString stud_course = mySqlQuery.value(2).toString();//! 輸出結果qDebug() << nRowNum << nColumnNum << nFieldNo << stud_id << stud_name << stud_course;}//! 定位到結果集中編號為2的記錄,即第三條記錄,因為第一條記錄的編號為0qDebug() << "exec seek(2) :";if(mySqlQuery.seek(2)){qDebug() << "rowNum is : " << mySqlQuery.at()<< " id is : " << mySqlQuery.value(0).toInt()<< " name is : " << mySqlQuery.value(1).toString();}//! 定位到結果集中最后一條記錄qDebug() << "exec last() :";if(mySqlQuery.last()){qDebug() << "rowNum is : " << mySqlQuery.at()<< " id is : " << mySqlQuery.value(0).toInt()<< " name is : " << mySqlQuery.value(1).toString();}//! 修改表內容mySqlQuery.exec("update student set course = 'Chinese' where id = 1");mySqlQuery.exec("alter table student add score int");mySqlQuery.exec("alter table student alter column score vchar(20)");//! 刪除表內容//mySqlQuery.exec("delete from student where id = 1");return a.exec();}

?

?

總結

以上是生活随笔為你收集整理的Qt操作SQLite数据库练习(20200215)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。