没有定位在有效记录上

时间:2018-05-12 14:35:20

标签: c++ sql qt

我是Qt的新人 我的应用程序有问题。 这是我的代码:

>> globals()['fu']()
"great"

我想在voidDialog::on_tableView_activated(constQModelIndex&index) { QString valu=ui->tableView->model()->data(index).toString(); QSqlQuery qryview; qryview.prepare("SELECT* FROM employ where nomper='"+valu+"' or prenomper='"+valu+"'"); ui->lineEdit_2->setText(qryview.value(0).toString()); ui->lineEdit_3->setText(qryview.value(1).toString()); } 恢复我的数据。

当我使用SQLite时,没有问题。 但是当我使用MySQL时,没有结果显示在lineEdit中。

  

qsqlquery :: value:未定位在有效记录上。

1 个答案:

答案 0 :(得分:0)

问题是您尝试在不初始化的情况下检索行。正确的方法是使用query.next(),下面是代码示例:

 QString valu=ui->tableView->model()->data(index).toString();
QSqlQuery qryview;
qryview.prepare("SELECT* FROM employ where nomper='"+valu+"' or prenomper='"+valu+"'");
qryview.exec();
while(qryview.next()) {
ui->lineEdit_2->setText(qryview.value(0).toString());
 ui->lineEdit_3->setText(qryview.value(1).toString());
}

这应该有效,如果没有尝试打印lastQueryError并查看是否以核心方式执行查询。