当我使用下面这个功能时。
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();
答案 0 :(得分:6)
beginInsertRows()
是QAbstractItemModel
的方法,受到保护。因此,只有当您在其方法中继承QAbstractItemModel
时才能调用它。更多信息here。