我究竟如何使用beginInsertRows()?

时间:2013-10-31 12:35:13

标签: c++ qt

当我使用下面这个功能时。

beginInsertRows()

beginInsertRows: identifier not found

我是c ++的新手。我该如何调用此功能?我包括QtSql。 我应该包含一些特别的东西吗?

修改: 我搜索过解决方案,所有这些都指向使用此功能 正如我发布的那样但是我收到了这个错误。

    this->sqlModel2 = new QSqlQueryModel();
    sqlTableModel = new QSqlTableModel(this);
    sqlTableModel->setTable("mytable");
    sqlTableModel->select();

    qDebug()<< sqlTableModel->lastError().text();

    ui->listView->setModel(sqlTableModel);
    ui->listView->setModelColumn(1);



            QString name;
            name= " My name";
            QSqlQuery qryInsert;
            QString mInsert "INSERT INTO mytable (:name) VALUES (:name)";

            qryInsert.prepare(mInsert);

            qryInsert.bindValue(":name",name);
            beginInsertRows(QModelIndex(),0,1) ;
            if(qryInsert.exec()){
                      qDebug()<<"Inserted";
                      result = "inserted";


                  }else{
                      qDebug()<<"Error inserting = "<<qry.lastError().text();
                  }
             endInsertRows();

1 个答案:

答案 0 :(得分:6)

beginInsertRows()QAbstractItemModel的方法,受到保护。因此,只有当您在其方法中继承QAbstractItemModel时才能调用它。更多信息here