mirror of
https://gitlab.com/spaceti-app/integrations/common/server-sdk.git
synced 2026-07-12 12:00:46 +02:00
add function for UPDATE, needs to be edited
This commit is contained in:
parent
8821dfc9b2
commit
34d112062c
@ -141,6 +141,38 @@ QSqlQuery DatabaseUtils::insertIntoTable(const DatabaseTable *table, const QStri
|
||||
return res;
|
||||
}
|
||||
|
||||
QSqlQuery DatabaseUtils::updateTable(const DatabaseTable *table, const QString table_name) const
|
||||
{
|
||||
QString columnsAndValues;
|
||||
|
||||
// tepmporary, for edit ( add one more parameter to func sth like QList with conditions
|
||||
QString conditions;
|
||||
conditions = "id = :id";
|
||||
|
||||
QVariantMap valueMap = table->toVariantMap();
|
||||
|
||||
|
||||
auto keys = valueMap.keys();
|
||||
for (auto key : keys) {
|
||||
if (!columnsAndValues.isEmpty()) {
|
||||
columnsAndValues += ", ";
|
||||
}
|
||||
columnsAndValues += key + "= :" + key;
|
||||
}
|
||||
|
||||
QSqlQuery query(mDatabaseManager->database());
|
||||
QString queryText = QString("UPDATE %1 SET %2 WHERE %3 );").arg(table_name).arg(columnsAndValues).arg(conditions);
|
||||
query.prepare(queryText);
|
||||
|
||||
for (auto key : keys ) {
|
||||
auto value = valueMap.value(key);
|
||||
query.bindValue(":"+key, value);
|
||||
}
|
||||
|
||||
QSqlQuery res = mDatabaseManager->executeQuery(query);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
QList<QMap<QString, QVariant>> DatabaseUtils::listMapFromQuery(QSqlQuery query) const
|
||||
{
|
||||
|
||||
@ -22,6 +22,9 @@ public:
|
||||
QSqlQuery createTable(const DatabaseTable *table, const QString table_name) const;
|
||||
|
||||
QSqlQuery insertIntoTable(const DatabaseTable *table, const QString table_name) const;
|
||||
|
||||
QSqlQuery updateTable(const DatabaseTable *table, const QString table_name) const;
|
||||
|
||||
QList<QMap<QString, QVariant>> listMapFromQuery(QSqlQuery query) const;
|
||||
|
||||
QString sqlType() const;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user