请问QDataWidgetMapper能不能用于插入数据,不是修改数据。为什么只能更新数据不能插入数据,哪个地方写的不对,请指教。
dataMapper = new QDataWidgetMapper(this);
QSqlDatabase sqlite = QSqlDatabase::database("sqlite");
tableModel = new QSqlTableModel(this,sqlite);
// tableModel->setEditStrategy(QSqlTableModel::OnManualSubmit);
tableModel->setTable("database_info");
tableModel->select();
dataMapper->setModel( tableModel );
dataMapper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit);
dataMapper->addMapping(m_editId,DBINFO_ID);
dataMapper->addMapping(m_editIpAddress,DBINFO_IPADDR);
dataMapper->addMapping(m_editPort,DBINFO_PORT);
dataMapper->addMapping(m_editDBName,DBINFO_DB);
dataMapper->addMapping(m_editUserName,DBINFO_USER);
dataMapper->addMapping(m_editPassword,DBINFO_PWD);
if( tableModel->rowCount() == 0 )
{
bool ok = tableModel->insertRows(1,1);
qDebug() << ok;
dataMapper->setCurrentIndex(1);
m_editIpAddress->setFocus();
}
else
dataMapper->toFirst();