1 // ANNA - Anna is Not Nothingness Anymore //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
9 #ifndef anna_dbms_oracle_Statement_hpp
10 #define anna_dbms_oracle_Statement_hpp
12 #include <anna/dbms/Statement.hpp>
26 Clase que facilita la ejecucion de sentencias SQL a traves del RDBMS Oracle (tm).
28 Esta clase no puede usarse directamente, ya que la capa ANNA.dbms obliga a que todas las peticiones
29 se hagan atraves de una instancia anna::dbms::Statement.
31 Para obtener la instancia de un comando para una determinada base de datos habra que instanciar
32 dicha base de datos e invocar al metodo createStatement. Independientemente del tipo de comando
33 particular que la base de datos retorne, debemos asignarlo a un puntero de tipo anna::dbms::Statement.
35 class Statement : public dbms::Statement {
43 Operador de conversion.
44 \return El puntero OCI de esta sentencia.
46 operator OCIStmt*() { return a_ociStmt; }
53 Statement(Database& database, const char* name, const char* expression, const bool isCritical) :
54 dbms::Statement(database, name, expression, isCritical),
58 Statement(Database& database, const char* name, const std::string& expression, const bool isCritical) :
59 dbms::Statement(database, name, expression, isCritical),
63 void prepare(dbms::Connection* connection) noexcept(false);
64 dbms::ResultCode execute(dbms::Connection* connection) noexcept(false);
65 bool fetch() noexcept(false);
67 friend class Database;