关于qt的QSqlTableModel更新数据库的问题
问题:(1)代码更新不了数据库
(2)select出来的数据量,也即变量iRowCount的值总是256,而我的数据量为8万多条
代码:
- C/C++ code
QSqlTableModel qTblModel; qTblModel.setTable(qstrTblName); qTblModel.select(); unsigned long iRowCount=qTblModel.rowCount(); for (unsigned long ulNum=0;ulNum<iRowCount;ulNum++) { QSqlRecord record=qTblModel.record(ulNum); int iIdxAtclSim=qTblModel.record().indexOf("articleSim"); int iIdxCmtSim=qTblModel.record().indexOf("commentSim"); QVariant qvarAtclSim=QVariant::fromValue(8.0); QVariant qvarCommentSim=QVariant::fromValue(5.0); record.setValue(iIdxAtclSim,qvarAtclSim); record.setValue(iIdxCmtSim,qvarCommentSim); qTblModel.setRecord(ulNum,record); } if (true==qTblModel.submitAll()) { } else { QMessageBox::information(NULL,"错误!","qsqltablemodel更新失败"); }[解决办法]
参考这个:
http://www.qtcentre.org/forum/f-qt-programming-2/t-qsqltablemodelselect-20637.html