Advertisement
Guest User

Untitled

a guest
Jul 30th, 2015
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. nodeModel = new QSqlTableModel(this,db);
  2. nodeModel->setTable("Node");
  3. nodeModel->setEditStrategy(QSqlTableModel::OnFieldChange);
  4.  
  5. int addNode(QString name) {
  6. QSqlRecord newRec = nodeModel->record();
  7. newRec.setGenerated("id",false);
  8. newRec.setValue("name",name);
  9. if (not nodeModel->insertRecord(-1,newRec))
  10. qDebug() << nodeModel->lastError();
  11. if (not nodeModel->submit())
  12. qDebug() << nodeModel->lastError();
  13. return nodeModel->query().lastInsertId().toInt();
  14. }
  15.  
  16. segModel = new QSqlRelationalTableModel(this,db);
  17. segModel->setTable("Segment");
  18. segModel->setEditStrategy(QSqlTableModel::OnManualSubmit);
  19. segModel->setRelation(segModel->fieldIndex("nodeFrom"),
  20. QSqlRelation("Node","id","name"));
  21. segModel->setRelation(segModel->fieldIndex("nodeTo"),
  22. QSqlRelation("Node","id","name"));
  23.  
  24. int addSegment(int nodeFrom, int nodeTo) {
  25. QSqlRecord newRec = segModel->record();
  26. newRec.setGenerated("id",false);
  27. newRec.setValue(1,nodeFrom);
  28. newRec.setValue(2,nodeTo);
  29. if (not segModel->insertRecord(-1,newRec)) // (*)
  30. qDebug() << segModel->lastError();
  31. if (not segModel->submitAll())
  32. qDebug() << segModel->lastError(); // (*)
  33. }
  34.  
  35. QSqlError("19", "Unable to fetch row", "Segment.nodeTo may not be NULL")
  36.  
  37. newRec.setValue(1,QVariant(nodeFrom));
  38.  
  39. newRec.setValue(2,QVariant(nodeTo));
  40.  
  41. setRelation(nodeFromCol, QSqlRelation("Node", "id", "name"));
  42. QSqlTableModel *model = relationModel(nodeFromCol);
  43. while(model->canFetchMore())
  44. model->fetchMore();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement