|
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(); //显示结果
}
|
|