AnCH Framework 0.1
Another C++ Hack Framework
 
Loading...
Searching...
No Matches
mysqlPreparedStatementResultSet.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
28#ifndef LIBMARIADB
29typedef bool my_bool;
30#endif
31
32namespace anch {
33 namespace sql {
34
45
46 // Attributes +
47 private:
49 MYSQL_STMT* _stmt;
50
52 long unsigned int* _lengths;
53
55 //char* _nulls;
56 my_bool* _nulls;
57
59 MYSQL_BIND* _binds;
60 // Attributes -
61
62 // Constructors +
63 public:
72 // Constructors -
73
74 // Destructor +
79 // Destructor -
80
81 // Methods +
82 public:
90 virtual bool next();
91
92 protected:
101 virtual bool getValue(std::size_t idx, std::string& out) override;
102
112 virtual std::optional<std::string> getValue(std::size_t idx) override;
113
119 virtual const anch::date::DateFormatter& getDateFormatter() override;
120
126 virtual const anch::date::DateFormatter& getTimeFormatter() override;
127
133 virtual const anch::date::DateFormatter& getTimestampFormatter() override;
134 // Methods -
135
136 };
137
138 }
139}
140
141#endif // ANCH_SQL_MYSQL
virtual bool getValue(std::size_t idx, std::string &out) override
virtual ~MySQLPreparedStatementResultSet() noexcept
virtual const anch::date::DateFormatter & getDateFormatter() override
virtual const anch::date::DateFormatter & getTimestampFormatter() override
virtual const anch::date::DateFormatter & getTimeFormatter() override
Date namespace.
SQL namespace.
Definition clauses.hpp:26
AnCH framework base namespace.
Definition app.hpp:28