- Timestamp:
- 01/21/10 14:24:08 (13 years ago)
- Branches:
- master, qt5
- Children:
- 06570e9
- Parents:
- d8d5bd2
- Location:
- src/mvc
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/mvc/event.cpp
rd8d5bd2 r7d7659d 1 1 #include "event.h" 2 2 3 // 'event' record is splitted into two separate tables 'event' and 'virtual_event' 4 // for the FTS (Full-Text-Search) support and so, it is necessary to provide/use 5 // two table names + corresponding parameters/methods, see bellow 6 QString const Event::sTable1Name = QString("event"); 7 QString const Event::sTable2Name = QString("virtual_event"); 8 int const Event::sTable1ColCount = 9; // see 'toRecord()' for more details 9 int const Event::sTable2ColCount = 5; // see 'toRecord()' for more details 3 QString const Event::sTableName = QString("event"); 10 4 11 5 QSqlRecord const Event::sColumns = Event::toRecord(QList<QSqlField>() 12 /* 'columns from Table 1 */13 6 << QSqlField("id", QVariant::Int) 14 7 << QSqlField("xid_conference", QVariant::Int) … … 20 13 << QSqlField("favourite", QVariant::Bool) 21 14 << QSqlField("alarm", QVariant::Bool) 22 /* 'columns' from Table2 */23 15 << QSqlField("tag", QVariant::String) 24 16 << QSqlField("title", QVariant::String) … … 30 22 Event Event::getById(int id, int conferenceId) 31 23 { 24 32 25 QSqlQuery query; 33 query.prepare( 34 selectQueryJoin2T("id") 35 + QString("WHERE %1.id = :id AND %1.xid_conference = :conf").arg(sTable1Name)); 26 query.prepare(selectQuery() + "WHERE id = :id AND xid_conference = :conf"); 36 27 query.bindValue(":id", id); 37 28 query.bindValue(":conf", conferenceId); 38 39 29 return loadOne(query); 40 30 } … … 43 33 { 44 34 QSqlQuery query; 45 query.prepare( 46 selectQueryJoin2T("id") 47 + QString("WHERE %1.xid_conference = :conf AND %1.start >= :start AND %1.start < :end ORDER BY %1.%2").arg(sTable1Name).arg(orderBy)); 35 query.prepare(selectQuery() + QString("WHERE xid_conference = :conf AND start >= :start AND start < :end ORDER BY %1").arg(orderBy)); 48 36 query.bindValue(":conf", conferenceId); 49 37 query.bindValue(":start", convertToDb(date, QVariant::DateTime)); … … 56 44 { 57 45 QSqlQuery query; 58 query.prepare( 59 selectQueryJoin2T("id") 60 + QString("WHERE %1.xid_conference = :conf AND %1.start >= :start AND %1.start < :end AND %1.favourite = 1 ORDER BY %1.start").arg(sTable1Name)); 46 query.prepare(selectQuery() + QString("WHERE xid_conference = :conf AND start >= :start AND start < :end AND favourite = 1 ORDER BY start")); 61 47 query.bindValue(":conf", conferenceId); 62 48 query.bindValue(":start", convertToDb(date, QVariant::DateTime)); … … 117 103 { 118 104 119 QString strQuery = QString("SELECT %1 FROM EVENT INNER JOIN VIRTUAL_EVENT USING (xid_conference, id) " 120 "INNER JOIN SEARCH_EVENT USING (xid_conference, id) ").arg( columnsForSelectJoin2T() ); 121 strQuery += QString( 122 "WHERE %1.xid_conference = :conf AND %1.start >= :start AND %1.start < :end ORDER BY %1.%2").arg(sTable1Name, orderBy); 105 QString strQuery = QString("SELECT %1 FROM EVENT INNER JOIN SEARCH_EVENT USING (xid_conference, id) ").arg(columnsForSelect()); 106 strQuery += QString("WHERE xid_conference = :conf AND start >= :start AND start < :end ORDER BY %1").arg(orderBy); 123 107 qDebug() << strQuery; 124 108 QSqlQuery query; -
src/mvc/event.h
rd8d5bd2 r7d7659d 19 19 public: 20 20 static const QSqlRecord sColumns; 21 //static QString const sTableName; 22 static const QString sTable1Name; 23 static const QString sTable2Name; 24 static const int sTable1ColCount; 25 static const int sTable2ColCount; 21 static QString const sTableName; 26 22 public: 27 23 static Event getById(int id, int conferenceId); … … 30 26 static QList<Event> getSearchResultByDate(const QDate& date, int conferenceId, QString orderBy); 31 27 public: 32 // Table 133 28 int id() const { return value("id").toInt(); } 34 29 int conferenceId() const { return value("xid_conference").toInt(); } … … 41 36 bool hasAlarm() const { return value("alarm").toBool(); } 42 37 bool hasTimeConflict() const { return true; /*return value("warning").toBool()*/; } //TODO 43 // Table 2 : virtual table for FTS (Full Text Search)44 38 QString tag() const { return value("tag").toString(); } 45 39 QString title() const { return value("title").toString(); } … … 51 45 QStringList persons() const; 52 46 53 // Table 154 47 void setId(int id) { setValue("id", id); } 55 48 void setConferenceId(int conferenceId) { setValue("xid_conference", conferenceId); } … … 61 54 void setFavourite(bool favourite) { setValue("favourite", (int)((favourite))); } 62 55 void setHasAlarm(bool alarm) { setValue("alarm", (int)((alarm))); } 63 // Table 2 : virtual table for FTS (Full Text Search)64 56 void setTag(const QString& tag) { setValue("tag", tag); } 65 57 void setTitle(const QString& title) { setValue("title", title); }
Note: See TracChangeset
for help on using the changeset viewer.