/
nanezz
/
sh22
Обзор
Документация
Войти
/
nanezz
/
sh22
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
sql_query_builder.cpp
70 строк
2 KB
nanezz
Create: sql_query_builder.cpp, sql_query_builder.h, main.cpp, sh22.slnx
01 авг 2026, 01:33
Верифицирован
01 авг 2026, 01:33
5c3827c
Код
Авторство
О чём код?
#include "sql_query_builder.h" SqlSelectQueryBuilder& SqlSelectQueryBuilder::AddColumn(const std::string& column) { columns_.push_back(column); return *this; } SqlSelectQueryBuilder& SqlSelectQueryBuilder::AddFrom(const std::string& table) { table_ = table; return *this; } SqlSelectQueryBuilder& SqlSelectQueryBuilder::AddWhere(const std::string& key, const std::string& value) { where_conditions_.push_back(key + "=" + value); return *this; } SqlSelectQueryBuilder& SqlSelectQueryBuilder::AddWhere(const std::map<std::string, std::string>& kv) noexcept { for (const auto& pair : kv) { where_conditions_.push_back(pair.first + "=" + pair.second); } return *this; } SqlSelectQueryBuilder& SqlSelectQueryBuilder::AddColumns(const std::vector<std::string>& columns) noexcept { for (const auto& col : columns) { columns_.push_back(col); } return *this; } std::string SqlSelectQueryBuilder::BuildQuery() const { std::string query = "SELECT "; if (columns_.empty()) { query += "*"; } else { for (size_t i = 0; i < columns_.size(); ++i) { if (i > 0) query += ", "; query += columns_[i]; } } query += " FROM " + table_; if (!where_conditions_.empty()) { query += " WHERE "; for (size_t i = 0; i < where_conditions_.size(); ++i) { if (i > 0) query += " AND "; query += where_conditions_[i]; } } query += ";"; return query; }