/
AirLexa
/
05
Обзор
Документация
Войти
/
AirLexa
/
05
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Lesson_05/ClientManager.h
40 строк
1 KB
AirLexa
update: ClientManager.h
03 май 2026, 06:55
Верифицирован
03 май 2026, 06:55
f38c189
Код
Авторство
О чём код?
#pragma once #include <pqxx/pqxx> #include <string> #include <vector> struct ClientData { int id; std::string firstName; std::string lastName; std::string email; std::vector<std::string> phones; }; class ClientManager { private: pqxx::connection* conn; public: ClientManager(const std::string& dbname, const std::string& user, const std::string& password, const std::string& host = "localhost", int port = 5432); ~ClientManager(); // работа с БД void createTables(); bool addClient(const std::string& firstName, const std::string& lastName, const std::string& email); bool addPhone(int clientId, const std::string& phoneNumber); bool updateClient(int clientId, const std::string& firstName, const std::string& lastName, const std::string& email); bool deletePhone(const std::string& phoneNumber); bool deleteClient(int clientId); // Метод поиска - возвращает вектор данных о клиентах std::vector<ClientData> searchClient(const std::string& query); // метод для получения клиента по ID ClientData getClientById(int clientId); bool isConnected() const { return conn != nullptr && conn->is_open(); } };