X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=include%2Fanna%2Fdbms.mysql%2FStatement.hpp;fp=include%2Fanna%2Fdbms.mysql%2FStatement.hpp;h=0000000000000000000000000000000000000000;hb=a3b95648bd76140ef55e0b5941d423eee6c3856f;hp=48c9f862e2044e6089716f768895d0ff10358acc;hpb=94fc4366adedbf26ca6ef3104f88d41fa85f5a72;p=anna.git diff --git a/include/anna/dbms.mysql/Statement.hpp b/include/anna/dbms.mysql/Statement.hpp deleted file mode 100644 index 48c9f86..0000000 --- a/include/anna/dbms.mysql/Statement.hpp +++ /dev/null @@ -1,95 +0,0 @@ -// 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_mysql_Statement_hpp -#define anna_dbms_mysql_Statement_hpp - -#include - -#include - -namespace anna { - -namespace dbms { - -class Connection; - -namespace mysql { - -class Database; - -/** - Clase que facilita la ejecucion de sentencias SQL a traves del RDBMS MySQL (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 MYSQL_STMT de esta sentencia. - */ - operator st_mysql_stmt*() throw() { return a_mysqlStmt; } - - /** - * Obtiene el array asociado a los valores de entrada. - * \return El array asociado a los valores de entrada. - * \warning Exclusivamente uso interno. - */ - st_mysql_bind* getBindParams() throw() { return a_params; } - - /** - * Obtiene el array asociado a los valores de salida. - * \return El array asociado a los valores de salida. - * \warning Exclusivamente uso interno. - */ - st_mysql_bind* getBindResults() throw() { return a_results; } - -private: - st_mysql_stmt* a_mysqlStmt; - - st_mysql_bind* a_params; - st_mysql_bind* a_results; - - Statement(Database& database, const char* name, const char* expression, const bool isCritical) : - dbms::Statement(database, name, expression, isCritical), - a_mysqlStmt(NULL), - a_params(NULL), - a_results(NULL) {} - - Statement(Database& database, const char* name, const std::string& expression, const bool isCritical) : - dbms::Statement(database, name, expression, isCritical), - a_mysqlStmt(NULL), - a_params(NULL), - a_results(NULL) {} - - st_mysql_bind* create(const int size, const char* whatis) throw(RuntimeException); - - 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 -