当我实现 QSqlQueryModel 时,我无法理解如何访问返回的元素。
我知道你可以做 QSqlQuery 查询;
query.prepare("select * from database");
query.exec();
query.next();
qDebug() << "value in 0 is " << query.value(0).SomeFormat;
所以我想用 QSqlQueryModel 做类似的事情(显然是更好的方法)。我在哪里设置查询,然后我可以将值输出到我拥有的另一批盒子。到目前为止我所拥有的是......
QSqlQuery selectAllUserFields;
selectAllUserFields.prepare(QString("SELECT * from %1 WHERE %2=:firstName and %3=:lastName;")
.arg(dbase::c_userTableName)
.arg(dbase::c_colUserFirstName)
.arg(dbase::c_colUserSecondName));
// finds the index of the current selection, so we can select the row
QModelIndexList tableIndex = m_ui->populatedUserBox->selectionModel()->selection().indexes();
QString firstName = tableIndex.at(0).data().toString();
QString lastName = tableIndex.at(1).data().toString();
QSqlQueryModel dbUsers;
dbUsers.setQuery(selectAllUserFields);
qDebug() << "DEBUG: {temp} " << dbUsers.record(0).value(0).toString();
我是初学者,所以如果有人可以提供帮助,我将不胜感激。
谢谢格兰特