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_OutputBind_hpp
10 #define anna_dbms_OutputBind_hpp
12 #include <anna/dbms/Bind.hpp>
21 Clase que facilita la interconexion entre las variables del ambito C++ y el ambito RDBMS.
23 A continuacion presentamos un ejemplo de uso detallado.
24 \include db_blob.p/main.cc
26 class OutputBind : public Bind {
29 Graba el valor de la variable anna::dbms::LongBlock asociada a esta OutputBind. Cualquier
30 modificacion que necesitemos aplicar sobre la columnna de tipo se debera hacer mediante los
31 metodos ofrecidos por la clase anna::dbms::LongBlock.
33 \warning Este metodo solo puede ser usado para variables de tipo dbms::Data::Type::LongBlock y
34 siempre y cuando hayamos abierto el BLOB con una sentencia SQL de seleccion.
36 void write() const noexcept(false);
39 OutputBind(const char* name, dbms::Data& value) : Bind(name, value) {;}
42 // este metodo no sera invocado nunca. A partir de un Output nunca hay que
43 // convertir de C++ -> RDBMS
44 void code() const noexcept(false) {;}
46 virtual void do_write(const dbms::LongBlock&) const noexcept(false) = 0;