我是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:未定位在有效记录上。
答案 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并查看是否以核心方式执行查询。