请问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();