PantryPro
prepared_statement.h
1 /*
2  * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License, version 2.0, as
6  * published by the Free Software Foundation.
7  *
8  * This program is also distributed with certain software (including
9  * but not limited to OpenSSL) that is licensed under separate terms,
10  * as designated in a particular file or component or in included license
11  * documentation. The authors of MySQL hereby grant you an
12  * additional permission to link the program and your derivative works
13  * with the separately licensed software that they have included with
14  * MySQL.
15  *
16  * Without limiting anything contained in the foregoing, this file,
17  * which is part of MySQL Connector/C++, is also subject to the
18  * Universal FOSS Exception, version 1.0, a copy of which can be found at
19  * http://oss.oracle.com/licenses/universal-foss-exception.
20  *
21  * This program is distributed in the hope that it will be useful, but
22  * WITHOUT ANY WARRANTY; without even the implied warranty of
23  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
24  * See the GNU General Public License, version 2.0, for more details.
25  *
26  * You should have received a copy of the GNU General Public License
27  * along with this program; if not, write to the Free Software Foundation, Inc.,
28  * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
29  */
30 
31 
32 
33 
34 #ifndef _SQL_PREPARED_STATEMENT_H_
35 #define _SQL_PREPARED_STATEMENT_H_
36 
37 #include <iostream>
38 #include "statement.h"
39 
40 
41 namespace sql
42 {
43 
44 class Connection;
45 class ResultSet;
46 class ResultSetMetaData;
47 class ParameterMetaData;
48 
49 class PreparedStatement : public Statement
50 {
51 public:
52  virtual ~PreparedStatement() {}
53 
54  virtual void clearParameters() = 0;
55 
56  virtual bool execute(const sql::SQLString& sql) = 0;
57  virtual bool execute() = 0;
58 
59  virtual ResultSet *executeQuery(const sql::SQLString& sql) = 0;
60  virtual ResultSet *executeQuery() = 0;
61 
62  virtual int executeUpdate(const sql::SQLString& sql) = 0;
63  virtual int executeUpdate() = 0;
64 
65  virtual ResultSetMetaData * getMetaData() = 0;
66 
67  virtual ParameterMetaData * getParameterMetaData() = 0;
68 
69  virtual bool getMoreResults() = 0;
70 
71  virtual void setBigInt(unsigned int parameterIndex, const sql::SQLString& value) = 0;
72 
73  virtual void setBlob(unsigned int parameterIndex, std::istream * blob) = 0;
74 
75  virtual void setBoolean(unsigned int parameterIndex, bool value) = 0;
76 
77  virtual void setDateTime(unsigned int parameterIndex, const sql::SQLString& value) = 0;
78 
79  virtual void setDouble(unsigned int parameterIndex, double value) = 0;
80 
81  virtual void setInt(unsigned int parameterIndex, int32_t value) = 0;
82 
83  virtual void setUInt(unsigned int parameterIndex, uint32_t value) = 0;
84 
85  virtual void setInt64(unsigned int parameterIndex, int64_t value) = 0;
86 
87  virtual void setUInt64(unsigned int parameterIndex, uint64_t value) = 0;
88 
89  virtual void setNull(unsigned int parameterIndex, int sqlType) = 0;
90 
91  virtual void setString(unsigned int parameterIndex, const sql::SQLString& value) = 0;
92 
93  virtual PreparedStatement * setResultSetType(sql::ResultSet::enum_type type) = 0;
94 };
95 
96 
97 } /* namespace sql */
98 
99 #endif /* _SQL_PREPARED_STATEMENT_H_ */
Definition: callback.h:39
Definition: sqlstring.h:43