青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

zhonghua

C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
  72 Posts :: 1 Stories :: 4 Comments :: 0 Trackbacks

    QSqlQueryModel類為SQL的結(jié)果集提供了一個只讀的數(shù)據(jù)模型,下面我們先利用這個類進(jìn)行一個最簡單的操作.

常用函數(shù)

void QSqlQueryModel::setQuery ("SQL語句") // 執(zhí)行SQL語句,此處還可以傳入QSqlQuery對象,此時可以利用QSqlQuery類的某些特性,如預(yù)操作等.

setHeaderData()     //設(shè)置水平頭標(biāo)題

columnCount(); //獲得列數(shù)

columnCount(); //獲得列數(shù)

QSqlRecord QSqlQueryModel::record ( int row ) const //返回row行包含的信息,可訪問單條的記錄

QModelIndex QAbstractItemModel::index ( int row, int column, const QModelIndex & parent = QModelIndex() )  //返回指定的行和列的索引(index)

index.data()  //返回index索引的值

query() //返回與QSqlQuery相關(guān)的模型

  1. QSqlQueryModel *model = new QSqlQueryModel;  
  2. model->setQuery(“select * from student”);  
  3. model->setHeaderData(0, Qt::Horizontal, tr(“id”));  
  4. model->setHeaderData(1, Qt::Horizontal, tr(“name”));  
  5. QTableView *view = new QTableView;  
  6. view->setModel(model);  
  7. view->show();  

 

利用query執(zhí)行SQL語句

  1. QSqlQuery query = model->query();  
  2. query.exec("select name from student where id = 1");  
  3. query.next();  
  4. qDebug() << query.value(0).toString(); // 如果上面的select改成insert語句,而且是顯示在QTableView中的話,需再查詢一次model->setQuery("select ...")才能顯示剛插入的語句  


       因為QSqlQueryMode模型默認(rèn)是只讀的,所以我們在窗口上并不能對表格中的內(nèi)容進(jìn)行修改。但是我們可以創(chuàng)建自己的模型,然后按照我們自己的需要來顯示數(shù)據(jù)和修改數(shù)據(jù)。如果要想使其可讀寫,需要自己的類繼承自QSqlQueryModel,并且重寫setData() 和 flags() 兩個函數(shù)如果我們要改變數(shù)據(jù)的顯示,就要重寫data() 函數(shù)

  1. Qt::ItemFlags MySqlQueryModel::flags(const QModelIndex &index) const //返回表格是否可更改的標(biāo)志  
  2. {  
  3.      Qt::ItemFlags flags = QSqlQueryModel::flags(index);  
  4.      if (index.column() == 1) //第二個字段可更改,即學(xué)生的名字字段  
  5.         flags |= Qt::ItemIsEditable;  
  6.      return flags;  
  7.  }  
  8.   
  9. bool MySqlQueryModel::setData(const QModelIndex &index, const QVariant &value, int /* role */) //表格添加數(shù)據(jù)  
  10. {  
  11.     QModelIndex primaryKeyIndex = QSqlQueryModel::index(index.row(), 0);  
  12.     int id = data(primaryKeyIndex).toInt(); //獲取id號 也可以這樣用,primaryKeyIndex.data();  
  13.   
  14.     clear();  
  15.     bool isOk;  
  16.     if (index.column() == 1) //第二個屬性可更改  
  17.     {  
  18.         QSqlQuery query;  
  19.         query.prepare("UPDATE STUDENT SET NAME = :name WHERE id = :id");  
  20.         query.bindValue(":name","小五");  
  21.         query.bindValue(":id",id);  
  22.         isOk = query.exec();  
  23.   
  24.         refresh();// 此處最好添加代碼刷新結(jié)果,或在此調(diào)用刷新函數(shù)  
  25.         return isOK;  
  26.     }  
  27.     return false;  
  28. }  
  29.   
  30. void MySqlQueryModel::refresh() //更新顯示  
  31. {  
  32.     setQuery("select * from student");  
  33.     setHeaderData(0, Qt::Horizontal, QObject::tr("學(xué)號ID"));  
  34.     setHeaderData(1, Qt::Horizontal, QObject::tr("名字"));  
  35. //  
  1. //tata()改寫某一個列的顯示樣式,對齊方式  
  2. QVariant MySqlQueryModel::data(const QModelIndex &index, int role) const  
  3. {  
  4.     QVariant value = QSqlQueryModel::data(index, role);  
  5.     if (role == Qt::TextColorRole && index.column() == 0)  
  6.         return qVariantFromValue(QColor(Qt::red)); //第一個屬性的字體顏色為紅色  
  7.   
  8.     if (role == Qt::TextAlignmentRole && index.column() == 1)  
  9.     {  
  10.         value = (Qt::AlignVCenter + Qt::AlignRight); // 靠右垂直居中  
  11.     }  
  12.       
  13.     return value;  

posted on 2012-04-23 11:21 米米 閱讀(547) 評論(0)  編輯 收藏 引用 所屬分類: qt
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品免费在线播放| 免费在线亚洲| 亚洲狠狠婷婷| 欧美激情中文字幕乱码免费| 99re6热在线精品视频播放速度| 亚洲午夜av在线| 国产在线成人| 蜜桃久久精品乱码一区二区| 一本色道久久综合亚洲精品小说 | 欧美日韩一区二区三区免费| 亚洲性线免费观看视频成熟| 美女国产精品| 在线天堂一区av电影| 亚洲影院在线观看| 91久久精品网| 亚洲欧美日韩精品一区二区| 亚洲黄网站黄| 亚洲日本黄色| 国产午夜精品视频免费不卡69堂| 久久久久久九九九九| 一本色道久久综合亚洲精品按摩| 亚洲男女毛片无遮挡| 亚洲精品一区二区三区不| 欧美va天堂va视频va在线| 亚洲国产精品久久久久秋霞影院 | 亚洲作爱视频| 日韩亚洲欧美中文三级| 亚洲激情午夜| 一区二区三区久久| 亚洲黄色在线看| 亚洲欧美日韩国产一区二区三区| 国产精品成人播放| 午夜精品在线视频| 午夜电影亚洲| 亚洲在线播放电影| 在线看视频不卡| 海角社区69精品视频| 国产一区二区三区视频在线观看| 欧美人与禽猛交乱配| 日韩一级成人av| 亚洲一区日本| 亚洲最新在线| 亚洲精品黄色| 久久久久国产精品一区三寸| 欧美一区午夜精品| 欧美在线关看| 亚洲精品免费网站| 欧美亚洲自偷自偷| 久久久久www| 午夜影院日韩| 久久亚洲捆绑美女| 久久久欧美精品| 好吊一区二区三区| 9色国产精品| 久久亚洲电影| 精品不卡在线| 国产精品99免费看 | 噜噜爱69成人精品| 欧美午夜片在线免费观看| 亚洲国产精品久久人人爱蜜臀| 狠狠色综合日日| 先锋影音网一区二区| 久久久久久婷| 美日韩丰满少妇在线观看| 亚洲欧美自拍偷拍| 欧美精品电影| 亚洲精品资源| 欧美一区二区网站| 亚洲欧美日韩国产一区二区| 国产精品久久久久免费a∨大胸| 国产精品人成在线观看免费| 国产一区二区三区在线观看网站| 日韩亚洲精品电影| 亚洲精品在线免费观看视频| 欧美精品一区二区高清在线观看| 亚洲电影中文字幕| 欧美亚洲视频一区二区| 欧美一区二区三区免费视频| 国产自产2019最新不卡| 久久精品国语| 一区二区成人精品 | 亚洲欧美激情一区| 亚洲国产精品一区二区www在线 | 久久久一本精品99久久精品66| 这里只有精品视频在线| 国产精品视频精品视频| 久久精品国产v日韩v亚洲| 亚洲一二三四久久| 国内久久婷婷综合| 亚洲高清色综合| 亚洲少妇中出一区| 国产伦精品一区二区三区免费 | 欧美激情女人20p| 亚洲色图综合久久| 久久免费视频在线| 久久久99免费视频| 亚洲国产另类久久久精品极度| 欧美成人精品影院| 欧美日韩大片| 日韩视频二区| 亚洲视频电影图片偷拍一区| 狠狠色丁香久久婷婷综合丁香| 欧美国产高潮xxxx1819| 亚洲一区二区高清| 在线日韩成人| 亚洲精品国产系列| 国产欧美精品日韩| 韩国免费一区| 亚洲高清不卡一区| 欧美巨乳在线观看| 久久久久亚洲综合| 欧美日韩成人激情| 午夜精品久久久久久久蜜桃app| 最新国产精品拍自在线播放| 国产精品久久久久久久7电影| 欧美高清视频在线观看| 欧美日韩免费观看一区三区 | 亚洲美女在线国产| 国产欧美一区二区三区在线看蜜臀| 免费看的黄色欧美网站| 国产色产综合产在线视频| 日韩视频免费观看高清完整版| 一区二区三区在线观看视频 | 亚洲欧美日韩精品久久亚洲区 | 欧美成人免费小视频| 亚洲电影在线看| 午夜天堂精品久久久久| 亚洲高清av在线| 一本到12不卡视频在线dvd| 亚洲国产婷婷| 久久久久99| 欧美在线视频免费观看| 一级成人国产| 亚洲精品国精品久久99热一| 老司机成人在线视频| 国产亚洲福利一区| 一区二区三区国产精品| 精品成人在线观看| 久久九九国产| 亚洲欧美日韩在线观看a三区| 欧美人体xx| 宅男噜噜噜66一区二区 | 一区二区日韩精品| 欧美激情第8页| 一本色道久久加勒比88综合| 久久看片网站| 欧美大片免费久久精品三p | 久久精品天堂| 久久综合精品国产一区二区三区| 久久久久久久久久码影片| 久久久久久9| 国产主播一区二区三区四区| 久久久久久久一区二区三区| 久久亚洲视频| 亚洲日本va午夜在线电影| 亚洲视频在线视频| 欧美亚洲在线播放| 国产专区精品视频| 免费国产一区二区| 西瓜成人精品人成网站| 国产拍揄自揄精品视频麻豆| 久久国产精品网站| 亚洲视频在线观看三级| 欧美乱人伦中文字幕在线| 国产一区二区看久久| 日韩午夜在线电影| 国产精品vip| 久久精品最新地址| 亚洲日本中文字幕免费在线不卡| 亚洲毛片一区| 久久er99精品| 亚洲人成亚洲人成在线观看图片| 欧美午夜一区二区| 香蕉久久夜色精品国产| 欧美aⅴ一区二区三区视频| 亚洲老板91色精品久久| 欧美三级午夜理伦三级中文幕| 久久蜜桃资源一区二区老牛| 在线看视频不卡| 欧美成年人视频网站欧美| 亚洲经典三级| 久久夜色精品国产亚洲aⅴ| 亚洲国产精品va| 国产精品美女久久久久av超清| 老巨人导航500精品| 欧美一区=区| 一本大道久久精品懂色aⅴ| 久久久久久9999| 999亚洲国产精| 影音先锋欧美精品| 性欧美精品高清| 亚洲精品你懂的| 欧美影视一区| 日韩一区二区免费高清| 伊人久久亚洲美女图片| 国产精品国产三级国产aⅴ无密码| 久久香蕉国产线看观看av| 亚洲欧美日本另类| 亚洲乱码精品一二三四区日韩在线| 久久久久久夜精品精品免费|