AnCH Framework  0.1
Another C++ Hack Framework
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
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 #ifndef _ANCH_SQL_MYSQL_RESULT_SET_H_
22 #define _ANCH_SQL_MYSQL_RESULT_SET_H_
23 
24 #include "sql/resultSet.hpp"
25 
26 #include <list>
27 
28 #include "mysql.h"
29 
30 
31 namespace anch {
32  namespace sql {
33 
43  class MySQLResultSet: public ResultSet {
44 
45  // Attributes +
46  private:
48  MYSQL_RES* _result;
49 
51  MYSQL_ROW _row;
52  // Attributes -
53 
54  // Constructors +
55  public:
61  MySQLResultSet(MYSQL_RES* result);
62  // Constructors -
63 
64  // Destructor +
68  virtual ~MySQLResultSet();
69  // Destructor -
70 
71  // Methods +
72  public:
80  virtual bool next() throw(SqlException);
81 
82  protected:
91  virtual bool getValue(std::size_t idx, std::string& out) throw(SqlException);
92  // Methods -
93 
94  };
95 
96  }
97 }
98 
99 #endif // _ANCH_SQL_MYSQL_RESULT_SET_H_
100 #endif // ANCH_SQL_MYSQL
SQL exception.
Definition: sqlException.hpp:39
SQL result representation.
Definition: resultSet.hpp:44
AnCH framework base namespace.
Definition: base64.hpp:28
MySQLResultSet(MYSQL_RES *result)
Definition: mysqlResultSet.cpp:28
virtual bool getValue(std::size_t idx, std::string &out)
Definition: mysqlResultSet.cpp:48
virtual bool next()
Definition: mysqlResultSet.cpp:58
MySQL result set implementation.
Definition: mysqlResultSet.hpp:43
virtual ~MySQLResultSet()
Definition: mysqlResultSet.cpp:41