QSqlQuery問題總結

2021-06-23 04:19:31 字數 986 閱讀 3976

1.qsqlquery::value: not positioned on a valid record

在使用qsqlquery查詢資料並用query的結果value出現qsqlquery::value: not positioned on a valid record錯誤

qsqlquery

query

;query

.prepare

("select

id,name

from

employee

where

name

like

:inputname"

);

query

.bindvalue

(":inputname"

,str

);

query

.exec

();

// qstring

namestr

=query

.value(1

).tostring

(); //

如果這句放在這裡的話出現上述錯誤

if(

query

.first

())

解決方法:qsqlquery返回的資料集,record是停在第一條記錄之前的。所以,你獲得資料集後,必須執行next()或first()到第一條記錄,這時候record才是有效的。否則,exec完直接value肯定報這個錯 

2.

宣告qsqlquery query時沒有與資料庫連線名關聯啊

qsqlquery query

改為qsqlquery query(dbtemp)

QT學習 QSqlQuery基本操作

qt中對資料庫的操作主要通過qsqlquery實現,qsqlquery提供了執行資料庫語句的方法,在qt中利用qsqlquery類實現了執行sql語句。它可以返回所有的執行結果,當建立好資料庫連線好後可以通過使用 qsqlquery exec 如同下面的語句 qsqlquery query quer...

QSqlQuery資料庫表建立 查詢 刪除 修改

qsqlquery封裝了在qsqldatabase上執行的sql查詢中建立,導航和檢索資料所涉及的功能 它能執行dml data manipulation language 語句,類似select insert update delete和dll data defintion language 語句...

最近問題總結(部分問題還未總結完)

1 配置檔案中使用 和 分別用 和 否則會報錯。2 和 的區別 使用 在解析成sql語句時會自動新增雙引號,即 中的內容一般表示欄位的值,例如 select from user where user id 如果userid的值是100,那麼解析成的sql為 select from user wher...