在网上看了删除qtableview记录的例子,照着例子写:
之前查询的页面是:
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
MysqlOperate::MysqlConct(db); //我写的连接数据库的函数,应该没有问题
db.open();
QItemSelectionModel *selections = ui->tableView->selectionModel();
QModelIndexList selected= selections->selectedIndexes();
QMap<int,int> rowMap;
foreach(QModelIndex index,selected)
{
rowMap.insert(index.row(),0);
}
int rowToDel;
QMapIterator<int,int> rowMapIterator(rowMap);
rowMapIterator.toBack();
while(rowMapIterator.hasPrevious())
{
rowMapIterator.previous();
rowToDel=rowMapIterator.key();
model->removeRow(rowToDel);
bool aa= model->submit();
}
db.close();
执行了删除之后的页面:
qtableview 删除记录 有感叹号
------解决方案--------------------
setEditStratery(QSqlTableModel::OnManualSubmit)