这是我的代码:
QSqlRelationalTableModel *model = new QSqlRelationalTableModel(this, db1);
model->setTable("syllabi");
model->setRelation(3, QSqlRelation("activity_types", "activity_type_id", "activity_type_name"));
model->select();
ui->tableView->setModel(model);
ui->tableView->setItemDelegate(new QSqlRelationalDelegate(ui->tableView));
组合框中的值显示正确,但是当我更改值并选择表的另一个单元格时,单元格显示ID(外键)而不是其值。 此外,当我使用此代码
插入另一个值时model->insertRow(model->rowCount());
model->setData(model->index(model->rowCount()-1, 0), teacherName);
出现错误:
QODBCResult :: exec:无法执行语句:“[Microsoft] [ODBC SQL Server驱动程序] [SQL Server]将nvarchar值'default'转换为数据类型int时转换失败。”
表格没有正确加入?
修改
好的,现在当我在组合框中更改值时,它会删除整行。可能是什么原因?