AnCH Framework 0.1
Another C++ Hack Framework
 
Loading...
Searching...
No Matches
mysqlResultSet.hpp
1/*
2 ANCH Framework: ANother C++ Hack is a C++ framework based on C++11 standard
3 Copyright (C) 2012 Vincent Lachenal
4
5 This file is part of ANCH Framework.
6
7 ANCH Framework is free software: you can redistribute it and/or modify
8 it under the terms of the GNU Lesser General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 ANCH Framework is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public License
18 along with ANCH Framework. If not, see <http://www.gnu.org/licenses/>.
19*/
20#ifdef ANCH_SQL_MYSQL
21#pragma once
22
23#include "mysql.h"
24#include "sql/resultSet.hpp"
25
26#include <list>
27
28namespace anch::sql {
29
39 class MySQLResultSet: public ResultSet {
40
41 // Attributes +
42 private:
44 MYSQL_RES* _result;
45
47 char** _row;
48 // Attributes -
49
50 // Constructors +
51 public:
57 MySQLResultSet(MYSQL_RES* result) noexcept;
58 // Constructors -
59
60 // Destructor +
64 virtual ~MySQLResultSet() noexcept;
65 // Destructor -
66
67 // Methods +
68 public:
76 virtual bool next();
77
78 protected:
87 virtual bool getValue(std::size_t idx, std::string& out) override;
88
98 virtual std::optional<std::string> getValue(std::size_t idx) override;
99
105 virtual const anch::date::DateFormatter& getDateFormatter() override;
106
112 virtual const anch::date::DateFormatter& getTimeFormatter() override;
113
119 virtual const anch::date::DateFormatter& getTimestampFormatter() override;
120 // Methods -
121
122 };
123
124}
125
126#endif // ANCH_SQL_MYSQL
MySQLResultSet(MYSQL_RES *result) noexcept
virtual const anch::date::DateFormatter & getTimestampFormatter() override
virtual ~MySQLResultSet() noexcept
virtual const anch::date::DateFormatter & getTimeFormatter() override
virtual bool getValue(std::size_t idx, std::string &out) override
virtual const anch::date::DateFormatter & getDateFormatter() override
Date namespace.
SQL namespace.
Definition clauses.hpp:26
AnCH framework base namespace.
Definition app.hpp:28