X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=include%2Fanna%2Fdbms.mysql%2FResultCode.hpp;fp=include%2Fanna%2Fdbms.mysql%2FResultCode.hpp;h=1c27be97e04dd1250dafb36f1e51d91494425a75;hb=78be86969d2f26a9084b0c4af6ce43d5fa4ed3fd;hp=0000000000000000000000000000000000000000;hpb=a3b95648bd76140ef55e0b5941d423eee6c3856f;p=anna.git diff --git a/include/anna/dbms.mysql/ResultCode.hpp b/include/anna/dbms.mysql/ResultCode.hpp new file mode 100644 index 0000000..1c27be9 --- /dev/null +++ b/include/anna/dbms.mysql/ResultCode.hpp @@ -0,0 +1,56 @@ +// 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_ResultCode_hpp +#define anna_dbms_mysql_ResultCode_hpp + +#include + +#include + +namespace anna { + +namespace dbms { + +namespace mysql { + +/** + Clase para acceder a la informacion devuelta por el gestor de base de datos + referente al ultimo comando realizado. + */ +class ResultCode : public dbms::ResultCode { +public: + /** + Constructor. + \param mysql Instancia de la base de datos sobre la que aplicamos la sentencia SQL. + */ + explicit ResultCode(st_mysql* mysql); + + /** + Constructor. + \param stmt Instancia de la sentencia ejecutada. + */ + explicit ResultCode(st_mysql_stmt* stmt); + +private: + class ErrorDecoder : public dbms::ResultCode::ErrorDecoder { + bool notFound(const int errorCode) const throw(); + bool successful(const int errorCode) const throw(); + bool locked(const int errorCode) const throw(); + bool lostConnection(const int errorCode) const throw(); + }; + + static ErrorDecoder st_errorDecoder; +}; + +} +} +} + +#endif +