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

QSqlTableModel insertRow()插入第六行报错

0
回复
8005
查看
[复制链接]

尚未签到

来源: 2016-11-28 14:29:59 显示全部楼层 |阅读模式
1Qter豆
我的程序(如下),用QSqlTableModel关联的数据库,结果用insertRow()插入数据时,在第6行总是报错,报错内容为:no fields to update,莫名其妙,为啥报错呢。
代码如下:

void SqlBrowser::OnBtnAddUserModel()
{
         
        int rowNum = mpUserRecordModel->rowCount();                //获得表的行数  
        mpUserRecordModel->insertRow(rowNum);                        //添加一行QString("%1").arg(rowNum)
        QDate curDate = QDate::currentDate();

        mpUserRecordModel->setData(mpUserListModel->index(rowNum, 0), QString("%1").arg(rowNum + 1));
        mpUserRecordModel->setData(mpUserListModel->index(rowNum, 1), mpUserIDLineEdit->text());
        mpUserRecordModel->setData(mpUserListModel->index(rowNum, 2), tr("原本"));
        mpUserRecordModel->setData(mpUserListModel->index(rowNum, 3), curDate);
        mpUserRecordModel->setData(mpUserListModel->index(rowNum, 4), mpAgeLineEdit->text());
        mpUserRecordModel->setData(mpUserListModel->index(rowNum, 5), tr("  "));

        mpUserRecordModel->database().transaction(); //开始事务操作
        bool result = mpUserRecordModel->submitAll();
        if (result)
        {
                mpUserRecordModel->database().commit(); //提交  
        }
        else
        {
                mpUserRecordModel->database().rollback(); //回滚  
        QMessageBox::warning(this, tr("tableModel"), tr("数据库错误: %1").arg(mpUserRecordModel->lastError().text()));
        }
        mpUserRecordModel->setFilter(QObject::tr("userid = '%1'").arg(mpUserIDLineEdit->text())); //根据姓名进行筛选  
        mpUserRecordModel->select(); //显示结果  
}

回复

使用道具 举报

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

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