+++ /dev/null
-// ANNA - Anna is Not Nothingness Anymore //
-// //
-// (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
-// //
-// See project site at http://redmine.teslayout.com/projects/anna-suite //
-// See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
-
-
-#ifndef anna_dbms_oracle_Statement_hpp
-#define anna_dbms_oracle_Statement_hpp
-
-#include <anna/dbms/Statement.hpp>
-
-struct OCIStmt;
-struct OCIError;
-
-namespace anna {
-
-namespace dbms {
-
-class Connection;
-
-namespace oracle {
-
-/**
- Clase que facilita la ejecucion de sentencias SQL a traves del RDBMS Oracle (tm).
-
- Esta clase no puede usarse directamente, ya que la capa ANNA.dbms obliga a que todas las peticiones
- se hagan atraves de una instancia anna::dbms::Statement.
-
- Para obtener la instancia de un comando para una determinada base de datos habra que instanciar
- dicha base de datos e invocar al metodo createStatement. Independientemente del tipo de comando
- particular que la base de datos retorne, debemos asignarlo a un puntero de tipo anna::dbms::Statement.
- */
-class Statement : public dbms::Statement {
-public:
- /**
- Destructor.
- */
- virtual ~Statement();
-
- /**
- Operador de conversion.
- \return El puntero OCI de esta sentencia.
- */
- operator OCIStmt*() throw() { return a_ociStmt; }
-
-private:
- OCIStmt* a_ociStmt;
- OCIError* a_ociError;
- bool a_firstFetch;
-
- Statement(Database& database, const char* name, const char* expression, const bool isCritical) :
- dbms::Statement(database, name, expression, isCritical),
- a_ociStmt(NULL),
- a_ociError(NULL) {}
-
- Statement(Database& database, const char* name, const std::string& expression, const bool isCritical) :
- dbms::Statement(database, name, expression, isCritical),
- a_ociStmt(NULL),
- a_ociError(NULL) {}
-
- void prepare(dbms::Connection* connection) throw(RuntimeException, DatabaseException);
- dbms::ResultCode execute(dbms::Connection* connection) throw(RuntimeException, DatabaseException);
- bool fetch() throw(RuntimeException, DatabaseException);
-
- friend class Database;
-};
-
-}
-}
-}
-
-#endif
-