找回密码
 立即注册
收起左侧

关于数据库模型的一个问题

1
回复
6891
查看
[复制链接]
累计签到:2 天
连续签到:1 天
来源: 2016-3-11 19:34:58 显示全部楼层 |阅读模式
1Qter豆



数据库中有id这一项,我不想要第一列数据,用model->removeColumn(0);显示确实去掉了第一列,但我双击修改然后提交无法改数据了,删除也删不掉,如果把
model->removeColumn(0);注释掉,就可以正常删除,修改了。这是为什么?
以下是修改,删除代码
  1. void vip::on_pushButton_2_clicked(){    model->database().transaction(); //开始事务操作   if (model->submitAll()) // 提交所有被修改的数据到数据库中   {   model->database().commit(); //提交成功,事务将真正修改数据库数据   } else {   model->database().rollback(); //提交失败,事务回滚   QMessageBox::warning(this, tr("tableModel"),tr("数据库错误: %1").arg(model->lastError().text()));   }   model->revertAll();
  2. }

  3. void vip::on_pushButton_3_clicked(){    int curRow = ui->tableView->currentIndex().row();    // 删除该行    model->removeRow(curRow);
  4.     int ok = QMessageBox::warning(this,tr("删除选中行!"),                  tr("你确定删除选中行吗?"),QMessageBox::Yes, QMessageBox::No);    if(ok == QMessageBox::No)    { // 如果不删除,则撤销        model->revertAll();    } else { // 否则提交,在数据库中删除该行      if(!model->submitAll())          QMessageBox::warning(this, tr("tableModel"),tr("数据库错误: %1").arg(model->lastError().text()));    }}}
复制代码


回复

使用道具 举报

累计签到:83 天
连续签到:1 天
2016-4-24 16:29:32 显示全部楼层
那个函数是真删除了数据库里的一列,不仅仅是视觉上那个少了一列,所以你接下的操作都没办法执行。如果想视觉上少一列,其实他还在,可以操作那个图形界面
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了