fix error caused by using toCamelCase

This commit is contained in:
Ondřej Fischer 2019-11-18 17:06:49 +01:00
parent 793bfde1de
commit 7071d874b0

View File

@ -134,8 +134,9 @@ QSqlQuery DatabaseUtils::insertIntoTable(const DatabaseTable *table, const QStri
QString queryText = QString("INSERT INTO %1 ( %2 ) VALUES ( %3 );").arg(table_name).arg(columns).arg(values); QString queryText = QString("INSERT INTO %1 ( %2 ) VALUES ( %3 );").arg(table_name).arg(columns).arg(values);
query.prepare(queryText); query.prepare(queryText);
for (auto key : keys ) { for (auto _key : keys ) {
auto value = valueMap.value(key); QString key = fromCamelCase(_key);
auto value = valueMap.value(_key);
query.bindValue(":"+key, value); query.bindValue(":"+key, value);
} }
@ -153,22 +154,22 @@ QSqlQuery DatabaseUtils::updateTable(const DatabaseTable *table, const QString t
QVariantMap valueMap = table->toVariantMap(); QVariantMap valueMap = table->toVariantMap();
auto keys = valueMap.keys(); auto keys = valueMap.keys();
for (auto _key : keys) { for (auto _key : keys) {
QString key = fromCamelCase(_key); QString key = fromCamelCase(_key);
if (!columnsAndValues.isEmpty()) { if (!columnsAndValues.isEmpty()) {
columnsAndValues += ", "; columnsAndValues += ", ";
} }
columnsAndValues += key + "= :" + key; columnsAndValues += key + " = :" + key;
} }
QSqlQuery query(mDatabaseManager->database()); QSqlQuery query(mDatabaseManager->database());
QString queryText = QString("UPDATE %1 SET %2 WHERE %3 );").arg(table_name).arg(columnsAndValues).arg(conditions); QString queryText = QString("UPDATE %1 SET %2 WHERE %3;").arg(table_name).arg(columnsAndValues).arg(conditions);
query.prepare(queryText); query.prepare(queryText);
for (auto key : keys ) { for (auto _key : keys ) {
auto value = valueMap.value(key); QString key = fromCamelCase(_key);
auto value = valueMap.value(_key);
query.bindValue(":"+key, value); query.bindValue(":"+key, value);
} }