Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- nodeModel = new QSqlTableModel(this,db);
- nodeModel->setTable("Node");
- nodeModel->setEditStrategy(QSqlTableModel::OnFieldChange);
- int addNode(QString name) {
- QSqlRecord newRec = nodeModel->record();
- newRec.setGenerated("id",false);
- newRec.setValue("name",name);
- if (not nodeModel->insertRecord(-1,newRec))
- qDebug() << nodeModel->lastError();
- if (not nodeModel->submit())
- qDebug() << nodeModel->lastError();
- return nodeModel->query().lastInsertId().toInt();
- }
- segModel = new QSqlRelationalTableModel(this,db);
- segModel->setTable("Segment");
- segModel->setEditStrategy(QSqlTableModel::OnManualSubmit);
- segModel->setRelation(segModel->fieldIndex("nodeFrom"),
- QSqlRelation("Node","id","name"));
- segModel->setRelation(segModel->fieldIndex("nodeTo"),
- QSqlRelation("Node","id","name"));
- int addSegment(int nodeFrom, int nodeTo) {
- QSqlRecord newRec = segModel->record();
- newRec.setGenerated("id",false);
- newRec.setValue(1,nodeFrom);
- newRec.setValue(2,nodeTo);
- if (not segModel->insertRecord(-1,newRec)) // (*)
- qDebug() << segModel->lastError();
- if (not segModel->submitAll())
- qDebug() << segModel->lastError(); // (*)
- }
- QSqlError("19", "Unable to fetch row", "Segment.nodeTo may not be NULL")
- newRec.setValue(1,QVariant(nodeFrom));
- newRec.setValue(2,QVariant(nodeTo));
- setRelation(nodeFromCol, QSqlRelation("Node", "id", "name"));
- QSqlTableModel *model = relationModel(nodeFromCol);
- while(model->canFetchMore())
- model->fetchMore();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement