From 51529bdbf6762321aef17464b850aec8411ac970 Mon Sep 17 00:00:00 2001 From: gregor herrmann Date: Wed, 22 Jun 2011 17:51:30 +0000 Subject: [PATCH] Insert new field xid_conference into table track, room and person. --- src/mvc/track.cpp | 6 ++++-- src/mvc/track.h | 3 +++ src/sql/sqlengine.cpp | 10 ++++++---- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/mvc/track.cpp b/src/mvc/track.cpp index 447eec3..9cadb47 100644 --- a/src/mvc/track.cpp +++ b/src/mvc/track.cpp @@ -20,11 +20,13 @@ #include "track.h" QString const Track::sTableName = QString("track"); -int const Track::sTableColCount = 2; +int const Track::sTableColCount = 3; +const QString Track::CONFERENCEID = "xid_conference"; const QString Track::NAME = "name"; QSqlRecord const Track::sColumns = Track::toRecord(QList() << QSqlField("id", QVariant::Int) + << QSqlField(CONFERENCEID, QVariant::Int) << QSqlField(NAME, QVariant::String)); class TrackInsertException : OrmSqlException @@ -36,7 +38,7 @@ public: int Track::insert() { QSqlQuery query; - query.prepare("INSERT INTO " + sTableName + " (" + NAME + ")" + " VALUES " + "(\"" + name() + "\")"); + query.prepare("INSERT INTO " + sTableName + " (" + CONFERENCEID + "," + NAME + ")" + " VALUES " + "(\"" + QString::number(conferenceid()) + "\",\"" + name() + "\")"); if (!query.exec()) { throw TrackInsertException("Exec Error"); diff --git a/src/mvc/track.h b/src/mvc/track.h index 39960d1..3173b87 100644 --- a/src/mvc/track.h +++ b/src/mvc/track.h @@ -28,10 +28,13 @@ public: static const QSqlRecord sColumns; static QString const sTableName; static const int sTableColCount; + static const QString CONFERENCEID; static const QString NAME; public: int id() const { return value("id").toInt(); } void setId(int id) { setValue("id", id); } + int conferenceid() const { return value("xid_conference").toInt(); } + void setConference(int conferenceid) { setValue("xid_conference", conferenceid); } QString name() const { return value("name").toString(); } void setName(const QString & type) { setValue("name", type); } int insert(); diff --git a/src/sql/sqlengine.cpp b/src/sql/sqlengine.cpp index c87ce2b..71a1c90 100644 --- a/src/sql/sqlengine.cpp +++ b/src/sql/sqlengine.cpp @@ -131,6 +131,7 @@ void SqlEngine::addEventToDB(QHash &aEvent) if (db.isValid() && db.isOpen()) { //insert event track to table and get track id + int conference = aEvent["conference_id"].toInt(); QString name = aEvent["track"]; Track track; int trackId; @@ -141,6 +142,7 @@ void SqlEngine::addEventToDB(QHash &aEvent) /*qDebug() << QString("DEBUG: Track %1 in DB").arg(name);*/ } catch (OrmNoObjectException &e) { + track.setConference(conference); track.setName(name); trackId = track.insert(); /*qDebug() << QString("DEBUG: Track %1 added to DB").arg(name);*/ @@ -211,8 +213,8 @@ void SqlEngine::addPersonToDB(QHash &aPerson) //TODO: check if the person doesn't exist before inserting if (db.isValid() && db.isOpen()) { - QString values = QString("'%1', '%2'").arg(aPerson["id"],aPerson["name"]); - QString query = QString("INSERT INTO PERSON (id,name) VALUES (%1)").arg(values); + QString values = QString("'%1', '%2', '%3'").arg(aPerson["conference_id"],aPerson["id"],aPerson["name"]); + QString query = QString("INSERT INTO PERSON (xid_conference,id,name) VALUES (%1)").arg(values); QSqlQuery result (query, db); //LOG_AUTOTEST(query); @@ -242,8 +244,8 @@ void SqlEngine::addRoomToDB(QHash &aRoom) } else // ROOM record doesn't exist yet, need to create it { - QString values = QString("'%1', '%2'").arg(aRoom["name"],aRoom["picture"]); - QString query = QString("INSERT INTO ROOM (name,picture) VALUES (%1)").arg(values); + QString values = QString("'%1', '%2', '%3'").arg(aRoom["conference_id"],aRoom["name"],aRoom["picture"]); + QString query = QString("INSERT INTO ROOM (xid_conference,name,picture) VALUES (%1)").arg(values); QSqlQuery result (query, db); roomId = result.lastInsertId().toInt(); // 'id' is assigned automatically //LOG_AUTOTEST(query); -- 2.39.5