4 * Created on: Dec 27, 2009
5 * Author: Pavol Korinek
10 QString const Track::sTableName = QString("track");
11 int const Track::sTableColCount = 2;
12 const QString Track::NAME = "name";
14 QSqlRecord const Track::sColumns = Track::toRecord(QList<QSqlField>()
15 << QSqlField("id", QVariant::Int)
16 << QSqlField(NAME, QVariant::String));
18 class TrackInsertException : OrmSqlException
21 TrackInsertException(const QString& text) : OrmSqlException(text) {}
27 query.prepare("INSERT INTO " + sTableName + " (" + NAME + ")" + " VALUES " + "(\"" + name() + "\")");
30 throw TrackInsertException("Exec Error");
32 QVariant variant = query.lastInsertId();
33 if (variant.isValid())
34 return variant.toInt();
36 throw TrackInsertException("Last Insert Id Error");
39 Track Track::retrieveByName(QString name)
44 + QString("WHERE %1.name = :name").arg(sTableName));
45 query.bindValue(":name", name);
46 return loadOne(query);
49 QList<Track> Track::getAll()
52 query.prepare(selectQuery());
56 Track Track::retrieve(int id)
59 query.prepare(selectQuery()
60 + QString("WHERE %1.id = :id").arg(sTableName));
61 query.bindValue(":id", id);
62 return loadOne(query);
65 QString Track::retrieveTrackName(int id)
67 Track track = retrieve(id);