sqlresult.hpp

Go to the documentation of this file.
00001 /*
00002 _______________________________________________________________________________
00003 
00004                                  SqlWrapperXX
00005 
00006 -------------------------------------------------------------------------------
00007 Copyright (c) 2007 Kai Braaten
00008 
00009 Permission is hereby granted, free of charge, to any person obtaining a copy
00010 of this software and associated documentation files (the "Software"), to deal
00011 in the Software without restriction, including without limitation the rights
00012 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
00013 copies of the Software, and to permit persons to whom the Software is
00014 furnished to do so, subject to the following conditions:
00015 
00016 The above copyright notice and this permission notice shall be included in
00017 all copies or substantial portions of the Software.
00018 
00019 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00020 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00021 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
00022 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00023 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
00024 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
00025 THE SOFTWARE.
00026 -------------------------------------------------------------------------------
00027 */
00028 
00029 #ifndef SQLRESULT_HPP
00030 #define SQLRESULT_HPP
00031 
00032 #include <string>
00033 using std::string;
00034 
00035 #include <queue>
00036 using std::queue;
00037 
00040 class SqlRow
00041 {
00042 public:
00046   SqlRow( const int columns = 0 );
00047 
00049   ~SqlRow();
00050 
00053   int columns() const;
00054 
00057   void add( const string &field );
00058 
00061   string fetch();
00062 
00065   bool empty() const;
00066 
00067 private:
00068   const int _columns;
00069   queue< string > data;
00070 };
00071 
00087 class SqlResult
00088 {
00089 public:
00091   SqlResult();
00092 
00094   ~SqlResult();
00095 
00098   int rows() const;
00099 
00104   string fetch();
00105 
00109   int fetchInteger();
00110 
00114   long fetchLong();
00115 
00119   float fetchFloat();
00120 
00124   double fetchDouble();
00125 
00130   const char *fetchCstring();
00131 
00135   void skip( int columns = 1 );
00136 
00140   void skipRow();
00141 
00151   bool empty() const;
00152 
00158   void add( SqlRow *newRow );
00159 
00160 private:
00161   queue< SqlRow* > results;
00162 };
00163 
00164 #endif // include guard

Generated on Sat Aug 18 16:21:44 2007 for SqlWrapperXX by  doxygen 1.5.0