![]() |
Mixxx
|
00001 // settingsdao.cpp 00002 // Created 12/29/2009 by RJ Ryan (rryan@mit.edu) 00003 00004 #include "library/dao/settingsdao.h" 00005 00006 SettingsDAO::SettingsDAO(QSqlDatabase& db) 00007 : m_db(db) { 00008 } 00009 00010 SettingsDAO::~SettingsDAO() { 00011 00012 } 00013 00014 void SettingsDAO::initialize() { 00015 } 00016 00017 QString SettingsDAO::getValue(QString name, QString defaultValue) { 00018 QSqlQuery query(m_db); 00019 00020 query.prepare("SELECT value FROM settings WHERE name = :name"); 00021 query.bindValue(":name", name); 00022 00023 QString value = defaultValue; 00024 if (query.exec() && query.first()) { 00025 value = query.value(query.record().indexOf("value")).toString(); 00026 } 00027 return value; 00028 } 00029 00030 bool SettingsDAO::setValue(QString name, QVariant value) { 00031 if (!qVariantCanConvert<QString>(value)) { 00032 return false; 00033 } 00034 00035 QSqlQuery query(m_db); 00036 query.prepare("REPLACE INTO settings (name, value) VALUES (:name, :value)"); 00037 query.bindValue(":name", name); 00038 query.bindValue(":value", value.toString()); 00039 00040 if (!query.exec()) { 00041 qDebug() << "SettingsDAO::setValue() failed" << name << ":" << value 00042 << query.lastError(); 00043 return false; 00044 } 00045 return true; 00046 }