/
AirLexa
/
07
Обзор
Документация
Войти
/
AirLexa
/
07
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Lesson_01/Task_1/Task_1.cpp
54 строки
1 KB
AirLexa
урок 1
23 июн 2026, 16:30
Верифицирован
23 июн 2026, 16:30
ee26e4f
Код
Авторство
О чём код?
#include <iostream> #include <windows.h> #include <string> #include <sstream> #include <vector> class SqlSelectQueryBuilder { private: std::string str_column = ""; std::string str_from = ""; std::string str_where = ""; public: SqlSelectQueryBuilder& AddColumn(const std::string& column) { if (!str_column.empty()) str_column.append(", "); str_column.append(column); return *this; } SqlSelectQueryBuilder& AddFrom(const std::string& from) { str_from = from; return *this; } SqlSelectQueryBuilder& AddWhere(const std::string& w1, const std::string& w2) { if (!str_where.empty()) str_where.append(" AND "); str_where.append(w1).append("=").append(w2); return *this; } std::string build() { if (str_from.empty()) return ""; std::stringstream query; query << "SELECT " << (str_column.empty() ? "*" : str_column) << " FROM " << str_from; if (!str_where.empty()) query << " WHERE " << str_where; return query.str().append(";"); } }; int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); SqlSelectQueryBuilder query_builder; query_builder.AddColumn("name").AddColumn("phone"); query_builder.AddFrom("students"); query_builder.AddWhere("id", "42").AddWhere("name", "John"); std::string s = query_builder.build(); std::cout << "SQL = " << s << std::endl; }