00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef RESOURCEPOOL_SQL_RTSQLSELECTROW_IMPL_HH
00025 #define RESOURCEPOOL_SQL_RTSQLSELECTROW_IMPL_HH
00026
00027 #include "ResourcePool/SQL/SQLStatement.hh"
00028 #include "ResourcePool/SQL/RTSQLSelectRow.hh"
00029 #include "ResourcePool/SQL/RTSQLExecute_Impl.hh"
00030
00031 namespace fatalmind {
00032 namespace SQL {
00033
00034
00035 template<class TM, template<class TM2>class B, class RT, class CW, class RTC>
00036 class RTSQLSelectRow_SpecializedImpl
00037 : public RTSQLExecute_SpecializedImpl<TM, B, RT, CW, RTC>
00038 {
00039 typedef RTSQLExecute_SpecializedImpl<TM, B, RT, CW, RTC> super;
00040 using super::sqlExecute_;
00041 public:
00042 RTSQLSelectRow_SpecializedImpl(RTC& rtc, const SQLStatement& sql, SQL::SQLFetcher& fetcher)
00043 : super(rtc, sql, fetcher)
00044 {
00045 }
00046
00047 virtual ~RTSQLSelectRow_SpecializedImpl() {
00048 }
00049
00050
00051
00052 virtual void bindout(const int pos, char& val, bool& isnull) {
00053 sqlExecute_.bindout(pos, val, isnull);
00054 }
00055
00056 virtual void bindout(const int pos, signed char& val, bool& isnull) {
00057 sqlExecute_.bindout(pos, val, isnull);
00058 }
00059
00060 virtual void bindout(const int pos, unsigned char& val, bool& isnull) {
00061 sqlExecute_.bindout(pos, val, isnull);
00062 }
00063
00064 virtual void bindout(const int pos, short int& val, bool& isnull) {
00065 sqlExecute_.bindout(pos, val, isnull);
00066 }
00067 virtual void bindout(const int pos, int& val, bool& isnull) {
00068 sqlExecute_.bindout(pos, val, isnull);
00069 }
00070 virtual void bindout(const int pos, long int& val, bool& isnull) {
00071 sqlExecute_.bindout(pos, val, isnull);
00072 }
00073 virtual void bindout(const int pos, unsigned short int& val, bool& isnull) {
00074 sqlExecute_.bindout(pos, val, isnull);
00075 }
00076 virtual void bindout(const int pos, unsigned int& val, bool& isnull) {
00077 sqlExecute_.bindout(pos, val, isnull);
00078 }
00079 virtual void bindout(const int pos, unsigned long int& val, bool& isnull) {
00080 sqlExecute_.bindout(pos, val, isnull);
00081 }
00082
00083 virtual void bindout(const int pos, float& val, bool& isnull) {
00084 sqlExecute_.bindout(pos, val, isnull);
00085 }
00086 virtual void bindout(const int pos, double& val, bool& isnull) {
00087 sqlExecute_.bindout(pos, val, isnull);
00088 }
00089 virtual void bindout(const int pos, long double& val, bool& isnull) {
00090 sqlExecute_.bindout(pos, val, isnull);
00091 }
00092
00093 virtual void bindout(const int pos, std::string& val, bool& isnull) {
00094 sqlExecute_.bindout(pos, val, isnull);
00095 }
00096
00097 protected:
00098 virtual Clone* DoClone() const {
00099 return new RTSQLSelectRow_SpecializedImpl<TM, B, RT, CW, RTC>(*this);
00100 }
00101 };
00102
00103 }
00104 }
00105 #endif