Назначение значения int для поля со списком, когда строка выбирается из табличного представления

Я хочу назначить конкретный идентификатор материала в поле со списком, как только я нажму на строку в табличном представлении.

void FictionSection::on_tblFiction_clicked(const QModelIndex &index)
{
int indicator = ui->tblFiction->model()->data(index).toInt();

QSqlQuery query;
query.prepare(" select fic_bk_id,material_id,no_of_cpy,shelf_num,edition from fiction ""where material_id= :id or no_of_cpy=:copy or shelf_num=:shelf or edition=:edition");
query.bindValue(":id",indicator);
query.bindValue(":copy",indicator);
query.bindValue(":shelf",indicator);
query.bindValue(":edition",indicator);

//Assigning table values to fields
if(query.exec())
{
while(query.next())
{
ui->lneditMngFicId->setText(query.value(0).toString());
ui->cmboxMngId->setCurrentText(query.value(1).toString());

ui->lneditMngCpy->setText(query.value(2).toString());
ui->spinbxMngShlf->setValue(query.value(3).toInt());
ui->spinbxMngEdtn->setValue(query.value(4).toInt());

}

}
else
{
QMessageBox :: critical(this,"Error","Couldn't load the values");
}
}

Хотя другие поля получают значения, как только я нажимаю на любое поле со списком строк, они не получают требуемого значения. Идентификатор материала хранится в базе данных как int. Я много пытался решить эту проблему. Пожалуйста, помогите мне решить эту проблему. заранее спасибо

1

Решение

Это из-за пробела в вашем запросе, связанного с material_id:

material_id= :id
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]