• 6374阅读
  • 4回复

QSqlQuery::value: not positioned on a valid record [复制链接]

上一主题 下一主题
离线simlity
 

只看楼主 倒序阅读 楼主  发表于: 2012-04-16
  1. QItemSelectionModel *selectionsModel = ui->tableView->selectionModel(); //返回当前的选择模式
  2.     QModelIndexList indexList = selectionsModel->selectedIndexes(); //返回所有选定的模型项目索引列表
  3.     foreach (QModelIndex index, indexList)
  4.     {
  5.         int curRow = index.row();
  6.         model->removeRow(curRow);   //删除所有被选中的行
  7.     }
  8.     int status = QMessageBox::warning(this,tr("删除选中的行"),tr("你确定删除当前选取中的行吗?"),QMessageBox::Yes,QMessageBox::No);
  9.     if(status == QMessageBox::Yes)
  10.     {
  11.         model->submitAll(); //提交,在数据库中删除该行
  12.     } else {
  13.         model->revertAll(); //如果不删除,则撤销
  14.     }


  1.     int curRow = ui->tableView->currentIndex().row();   //获取选中的行
  2.     model->removeRow(curRow);    //删除该行
  3.     int state = QMessageBox::warning(this,tr("温馨提示"),tr("你确定删除当前行吗,删除后数据不能恢复."),QMessageBox::Yes,QMessageBox::No);
  4.     if(state == QMessageBox::No)
  5.     {
  6.         model->revertAll(); //如果不删除,则撤销
  7.     }
  8.     else model->submitAll(); //否则提交,在数据库中删除该行


删除tableView中选中的行,对应数据的记录也删除。两种方法都是百度来的,但都提示标题那样的信息,数据库不是空的
请大家帮帮忙,怎么解决呀,新手一个,都不太懂。
另抱怨下,论坛怎么这么难上,打开个帖子,运气好,很快就打开,不好的时候等上十几分钟都不见帖子内容,经常运气不好。现在发帖都花了很久时间才让你们看到此贴。
离线simlity

只看该作者 1楼 发表于: 2012-04-16
离线淳于半邪

只看该作者 2楼 发表于: 2012-04-16
1.检查下你建表是否是对的
2.看看数据库类型sqlite是否安装
离线ywchen2000

只看该作者 3楼 发表于: 2012-06-05
1 看看是数据库路径是否对了
2 检查下你建表是否是对的
3  查询后,记得使用 next()。不然会错误的
ipanforlinux 金山快盘LINUX版本
qnotepad  一个功能强大的文本编辑器
欢迎访问http://www.ipanx.net
只看该作者 4楼 发表于: 2012-06-10
我也遇上这个问题,哎!搞不清楚!
快速回复
限100 字节
 
上一个 下一个