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

Qt數據庫 利用QSqlQuery類執行SQL語句 中篇

移動開發
本文介紹的是Qt數據庫 利用QSqlQuery類執行SQL語句,SQL即結構化查詢語言,是關系數據庫的標準語言。詳細內容我們先來看內容。

Qt數據庫 利用QSqlQuery類執行SQL語句 下篇是本節需要介紹的內容,接著上一篇教程。Qt數據庫 利用QSqlQuery類執行SQL語句 上篇 ,也不多說了,直接看內容。

SQL語句中使用變量。

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

  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數據庫 利用QSqlQuery類執行SQL語句 中篇

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

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

當用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(); 

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

下面我們就可以利用綁定操作在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值進行綁定  
  7.     query.exec();  
  8.     query.next(); //指向第一條記錄  
  9.     qDebug() << query.value(0).toString();  

運行程序,效果如下:

Qt數據庫 利用QSqlQuery類執行SQL語句 中篇

我們改變spinBox的數值大小,然后按下“查詢”按鈕,可以看到對應的結果就出來了。

小結:Qt數據庫 利用QSqlQuery類執行SQL語句 中篇的內容介紹完了,希望本節內容對你有幫助,想繼續深入了解的話,請參考

Qt數據庫 利用QSqlQuery類執行SQL語句 下篇

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-06-27 14:17:35

Qt 數據庫 QSqlQuery

2011-06-27 14:44:30

Qt 數據庫 QSqlQuery

2011-08-15 14:29:52

SQL Server數事務

2010-09-07 15:20:58

SQL語句事務

2011-06-21 15:31:04

Qt 數據庫 SQL

2010-11-18 10:06:16

Oracle數據庫性能

2009-03-09 17:46:16

ASP.NETSQLOracle

2011-01-06 09:28:19

SQL語句

2010-09-07 16:12:36

SQL語句數據庫壓縮

2010-04-16 09:41:42

Oracle數據庫查看

2011-09-09 10:10:13

SQL數據庫點滴

2011-09-01 19:00:08

SQL ServerDBCC語句

2010-06-28 10:36:42

SQL Server數

2010-05-11 10:12:50

mysql數據庫sql

2023-05-10 08:29:12

2019-03-01 18:50:09

SQL Server數據庫備份并壓縮

2010-07-15 15:37:13

SQL Server數

2010-07-02 08:23:06

SQL Server

2011-07-05 14:46:34

2011-04-02 11:28:10

SQL Server數報表數據庫快照
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品在线一区二区 | 福利影院在线看 | 亚洲色图综合 | 国产一区不卡在线观看 | 国产综合久久 | 中文字幕a√ | 国内久久| 精品免费国产一区二区三区四区介绍 | 亚洲成人av | 久久激情五月丁香伊人 | 一区日韩 | 午夜小视频在线观看 | 久久久国产一区二区三区 | 亚洲欧美国产一区二区三区 | 一本综合久久 | 久久伊人久久 | 日韩免费福利视频 | 九色国产 | 日本中文在线视频 | 久久精品男人的天堂 | 91福利在线观看视频 | www..99re| 亚洲综合日韩精品欧美综合区 | 一区二区三区免费 | 日韩欧美在线观看 | 成人福利 | 四虎成人精品永久免费av九九 | 色婷婷一区二区三区四区 | 成人免费黄色片 | 亚洲精品在线视频 | 91精品久久久久久久久久入口 | 成人影院网站ww555久久精品 | 天天综合91| 久久999 | 国产精品成人一区二区三区 | 免费在线一区二区 | 久久亚洲美女 | 欧美电影免费网站 | 成人在线视频网 | 在线观看av网站 | 中文字幕精品一区二区三区精品 |