成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Qt數(shù)據(jù)庫 利用QSqlQuery類執(zhí)行SQL語句 中篇

移動開發(fā)
本文介紹的是Qt數(shù)據(jù)庫 利用QSqlQuery類執(zhí)行SQL語句,SQL即結(jié)構(gòu)化查詢語言,是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言。詳細(xì)內(nèi)容我們先來看內(nèi)容。

Qt數(shù)據(jù)庫 利用QSqlQuery類執(zhí)行SQL語句 下篇是本節(jié)需要介紹的內(nèi)容,接著上一篇教程。Qt數(shù)據(jù)庫 利用QSqlQuery類執(zhí)行SQL語句 上篇 ,也不多說了,直接看內(nèi)容。

SQL語句中使用變量。

我們先看下面的一個例子,將“查詢”按鈕的槽函數(shù)更改如下:

  1. void Widget::on_pushButton_clicked()  
  2. {  
  3.     QSqlQuery query;  
  4.     query.prepare(“insert into student (id, name) ”  
  5.                   “values (:id, :name)”);  
  6.     query.bindValue(0, 5);  
  7.     query.bindValue(1, “sixth”);  
  8.     query.exec();  
  9.  
  10.     //下面輸出最后一條記錄  
  11.     query.exec(“select * from student”);  
  12.     query.last();  
  13.     int id = query.value(0).toInt();  
  14.     QString name = query.value(1).toString();  
  15.     qDebug() << id << name;  

運行效果如下:

Qt數(shù)據(jù)庫 利用QSqlQuery類執(zhí)行SQL語句 中篇

可以看到,在student表的最后又添加了一條記錄。在上面的程序中,我們先使用了prepare()函數(shù),在其中利用了“:id”和“:name”來代替具體的數(shù)據(jù),而后又利用bindValue()函數(shù)給id和name兩個屬性賦值,這稱為綁定操作。其中編號0和1分別代表“:id”和“:name”,就是說按照prepare()函數(shù)中出現(xiàn)的屬性從左到右編號,最左邊是0 。這里的“:id”和“:name”,叫做占位符,這是ODBC數(shù)據(jù)庫的表示方法,還有一種Oracle的表示方法就是全部用“?”號。如下:

  1. query.prepare(“insert into student (id, name) ”  
  2.                   “values (?, ?)”);  
  3. query.bindValue(0, 5);  
  4. query.bindValue(1, “sixth”);  
  5. query.exec(); 

我們也可以利用addBindValue()函數(shù),這樣就可以省去編號,它是按順序給屬性賦值的,如下:

  1. query.prepare(“insert into student (id, name) ”  
  2.                   “values (?, ?)”);  
  3. query.addBindValue(5);  
  4. query.addBindValue(“sixth”);  
  5. query.exec(); 

當(dāng)用ODBC的表示方法時,我們也可以將編號用實際的占位符代替,如下:

  1. query.prepare(“insert into student (id, name) ”  
  2.                       “values (:id, :name)”);  
  3. query.bindValue(“:id”, 5);  
  4. query.bindValue(“:name”, “sixth”);  
  5. query.exec(); 

以上各種形式的表示方式效果是一樣的。特別注意,在最后一定要執(zhí)行exec()函數(shù),所做的操作才能被真正執(zhí)行。

下面我們就可以利用綁定操作在SQL語句中使用變量了。

  1. void Widget::on_pushButton_clicked()  
  2. {  
  3.     QSqlQuery query;  
  4.     query.prepare(“select name from student where id = ?”);  
  5.     int id = ui->spinBox->value(); //從界面獲取id的值  
  6.     query.addBindValue(id); //將id值進(jìn)行綁定  
  7.     query.exec();  
  8.     query.next(); //指向第一條記錄  
  9.     qDebug() << query.value(0).toString();  

運行程序,效果如下:

Qt數(shù)據(jù)庫 利用QSqlQuery類執(zhí)行SQL語句 中篇

我們改變spinBox的數(shù)值大小,然后按下“查詢”按鈕,可以看到對應(yīng)的結(jié)果就出來了。

小結(jié):Qt數(shù)據(jù)庫 利用QSqlQuery類執(zhí)行SQL語句 中篇的內(nèi)容介紹完了,希望本節(jié)內(nèi)容對你有幫助,想繼續(xù)深入了解的話,請參考

Qt數(shù)據(jù)庫 利用QSqlQuery類執(zhí)行SQL語句 下篇

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

2011-06-27 14:17:35

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

2011-06-27 14:44:30

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

2011-08-15 14:29:52

SQL Server數(shù)事務(wù)

2010-09-07 15:20:58

SQL語句事務(wù)

2010-11-18 10:06:16

Oracle數(shù)據(jù)庫性能

2011-06-21 15:31:04

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

2011-01-06 09:28:19

SQL語句

2010-09-07 16:12:36

SQL語句數(shù)據(jù)庫壓縮

2010-04-16 09:41:42

Oracle數(shù)據(jù)庫查看

2009-03-09 17:46:16

ASP.NETSQLOracle

2011-09-09 10:10:13

SQL數(shù)據(jù)庫點滴

2011-09-01 19:00:08

SQL ServerDBCC語句

2010-06-28 10:36:42

SQL Server數(shù)

2023-05-10 08:29:12

2019-03-01 18:50:09

SQL Server數(shù)據(jù)庫備份并壓縮

2010-05-11 10:12:50

mysql數(shù)據(jù)庫sql

2010-07-15 15:37:13

SQL Server數(shù)

2010-07-02 08:23:06

SQL Server

2011-07-05 14:46:34

2010-06-30 13:19:17

SQL Server
點贊
收藏

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

主站蜘蛛池模板: 亚洲精品麻豆 | 日韩中文视频 | jizz在线看片| 有码一区 | 亚卅毛片 | 又爽又黄axxx片免费观看 | 天天色图| 97国产精品视频人人做人人爱 | 色.com| 小川阿佐美pgd-606在线 | 亚洲永久字幕 | 久久国产精品99久久久久久丝袜 | 国产在线观看网站 | 999热精品视频 | 日本一二区视频 | 羞羞视频免费在线观看 | 一区二区三区高清在线观看 | 欧美一二三 | 久久精品国产a三级三级三级 | 91麻豆精品国产91久久久更新资源速度超快 | 久久国内精品 | 中文字幕1区 | 日韩精品一区二区三区四区 | 999国产视频| 91毛片网| 国产欧美日韩综合精品一 | 国产在线观看福利 | 久久精品99 | 国产精品毛片一区二区三区 | 亚洲成av| 国产精品视频一区二区三区, | 在线观看毛片网站 | 亚洲精品1区 | 国产激情视频在线 | 91一区二区三区 | 日韩在线国产精品 | 午夜视频免费在线观看 | 一区二区日韩 | 精品成人av | 国产精品区一区二区三 | 日韩理论电影在线观看 |