qtableview 无法删除记录 有感叹号

L708L 2013-10-23 05:05:31
在网上看了删除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();
执行了删除之后的页面:
...全文
446 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
L708L 2013-10-23
  • 打赏
  • 举报
回复
而且我在查询过后直接删除第一行, model->removeRow(0); model->submit(); 也不行,显示记录,然后是第一行最前面那列是感叹号
L708L 2013-10-23
  • 打赏
  • 举报
回复
引用 2 楼 heksn 的回复:
setEditStratery(QSqlTableModel::OnManualSubmit)
这前面有声明过的, model=new QSqlTableModel(this,db); model->setTable("record"); model->setEditStrategy(QSqlTableModel::OnManualSubmit);
L708L 2013-10-23
  • 打赏
  • 举报
回复
引用 1 楼 L708L 的回复:
执行submit返回值为true.但是无法正确删除记录
这前面有声明过的, model=new QSqlTableModel(this,db); model->setTable("record"); model->setEditStrategy(QSqlTableModel::OnManualSubmit);
  • 打赏
  • 举报
回复
setEditStratery(QSqlTableModel::OnManualSubmit)
L708L 2013-10-23
  • 打赏
  • 举报
回复
执行submit返回值为true.但是无法正确删除记录

16,818

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧