mirror of
https://gitlab.com/spaceti-app/integrations/common/server-sdk.git
synced 2026-07-12 18:50:41 +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;
|
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
|
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 createTable(const DatabaseTable *table, const QString table_name) const;
|
||||||
|
|
||||||
QSqlQuery insertIntoTable(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;
|
QList<QMap<QString, QVariant>> listMapFromQuery(QSqlQuery query) const;
|
||||||
|
|
||||||
QString sqlType() const;
|
QString sqlType() const;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user