Добрый вечер! Есть такой код
void ChangeDB::changePhotoLat(int id, double lat)
{
query.prepare("UPDATE Points SET lat = :lat WHERE id = :id;");
query.bindValue(":id", id);
query.bindValue(":lat", lat);
if (!query.exec()){
qDebug() << "Error SQLite:" << query.lastError().text();
}
}
void ChangeDB::changePhotoLon(int id, double lon)
{
query.prepare("UPDATE Points SET lon = :lon WHERE id = :id;");
query.bindValue(":id", id);
query.bindValue(":lon", lon);
if (!query.exec()){
qDebug() << "Error SQLite:" << query.lastError().text();
}
}
Такие функции мне нужно сделать для всех столбцов в бд. Как можно оптимально записать это дело?
как можно заметить, в этих функциях у вас меняется только название колонки. поэтому например можно названия всех столбцов сохранить в массиве
QStringList columns[] = {"lat", "lon", ...}
тогда вам нужна будет только одна функция которая принимает этот массив в качестве параметра в которой можно пройтись по этому циклу и обновить этот столбец в базе данных
void ChangeDB::changePhotoL(int id, double c, const QStringList& columns);
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости