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...