用tablemodel操作数据库,代码如下:
int iRow = ui.tableView->currentIndex().row();
if (QMessageBox::question(this, tr("提示信息"), tr("确定要删除第 ") + QString::number(iRow+1) + tr(" 行纪录?"), tr("确定"), tr("取消")) == 0)
{
bool isSuccess = dao.model->removeRow(iRow);
if(isSuccess){
dao.model->submitAll();
}
// int rowid = dao.model->record(iRow).value("id").toInt();
// dao.deleteRecord(rowid);
}
this->refresh();
可以变异通过,但运行时无法删除记录,总是提示
warning: QSqlQuery::value: not positioned on a valid record