- mDb = QSqlDatabase::addDatabase("QSQLITE", DbConnectionName);
- mDb.setDatabaseName(Common::iApp::instance()->dataRootDir() + DbName);
- if (!mDb.open()) {
- QSqlError err = mDb.lastError();
+ db = QSqlDatabase::addDatabase("QSQLITE", DbConnectionName);
+ EVAF_INFO("Added database %s", DbConnectionName);
+ db.setDatabaseName(Common::iApp::instance()->dataRootDir() + DbName);
+ if (!db.open()) {
+ QSqlError err = db.lastError();
EVAF_ERROR("Failed to open database : %s", qPrintable(err.text()));
return false;
}
}
else {
// Database connection already exists
EVAF_ERROR("Failed to open database : %s", qPrintable(err.text()));
return false;
}
}
else {
// Database connection already exists
EVAF_TEST_X(data, "Data cannot be null");
EVAF_TEST_X(!name.isEmpty(), "Name cannot be empty");
EVAF_TEST_X(data, "Data cannot be null");
EVAF_TEST_X(!name.isEmpty(), "Name cannot be empty");
if (!q.exec(QString("UPDATE data SET suffix = \'%1\', length = \'%2\', flags = \'%3\' WHERE name = \'%4\';")
.arg(data->suffix()).arg(data->length()).arg(data->flags()).arg(name))) {
if (!q.exec(QString("UPDATE data SET suffix = \'%1\', length = \'%2\', flags = \'%3\' WHERE name = \'%4\';")
.arg(data->suffix()).arg(data->length()).arg(data->flags()).arg(name))) {
if (!q.exec(QString("INSERT INTO data (name, suffix, length, flags) VALUES (\'%1\', \'%2\', %3, %4);")
.arg(name).arg(data->suffix()).arg(data->length())
.arg(int(data->flags())))) {
if (!q.exec(QString("INSERT INTO data (name, suffix, length, flags) VALUES (\'%1\', \'%2\', %3, %4);")
.arg(name).arg(data->suffix()).arg(data->length())
.arg(int(data->flags())))) {
EVAF_ERROR("Failed to insert \'%s\' : %s", qPrintable(name), qPrintable(err.text()));
return false;
}
// Store also into the local hash
EVAF_ERROR("Failed to insert \'%s\' : %s", qPrintable(name), qPrintable(err.text()));
return false;
}
// Store also into the local hash
EVAF_ERROR("Failed to query database : %s", qPrintable(err.text()));
return false;
}
if (q.isActive() && q.isSelect() && q.first()) {
// Check if the table needs to be upgraded
EVAF_ERROR("Failed to query database : %s", qPrintable(err.text()));
return false;
}
if (q.isActive() && q.isSelect() && q.first()) {
// Check if the table needs to be upgraded
}
// Create the 'data' table
if (!q.exec("CREATE TABLE data (name text primary key not null, suffix text, length integer, flags integer);")) {
}
// Create the 'data' table
if (!q.exec("CREATE TABLE data (name text primary key not null, suffix text, length integer, flags integer);")) {
if (!q.exec("SELECT name, suffix, length, flags FROM data;")) {
if (!q.exec("SELECT name, suffix, length, flags FROM data;")) {
while (q.next()) {
QString name = q.value(0).toString();
QExplicitlySharedDataPointer<Storage::Data> data(
new Storage::Data(name, q.value(1).toString(), q.value(2).toInt(), uint(q.value(3).toInt())));
mData.insert(name, data);
}
while (q.next()) {
QString name = q.value(0).toString();
QExplicitlySharedDataPointer<Storage::Data> data(
new Storage::Data(name, q.value(1).toString(), q.value(2).toInt(), uint(q.value(3).toInt())));
mData.insert(name, data);
}