/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

DbiResultSet.h
Go to the documentation of this file.
00001 #ifndef DBIRESULTSET_H
00002 #define DBIRESULTSET_H
00003 
00004 
00008 
00031 #include <string>
00032 
00033 #include "TString.h"
00034 
00035 #include "DatabaseInterface/Dbi.h"
00036 #include "DatabaseInterface/DbiRowStream.h"
00037 
00038 class DbiString;
00039 class DbiStatement;
00040 class DbiTableMetaData;
00041 class DbiTableProxy;
00042 class TSQLStatement;
00043 class TimeStamp;
00044 
00045 class DbiResultSet : public DbiRowStream
00046 {
00047 
00048 public:
00049 
00050 // Constructors and destructors.
00051            DbiResultSet(DbiStatement* stmtDb,
00052                         const DbiString& sql,
00053                         const DbiTableMetaData* metaData,
00054                         const DbiTableProxy* tableProxy,
00055                         UInt_t dbNo,
00056                         const string& fillOpts = "");
00057   virtual ~DbiResultSet();
00058 
00059 // State testing member functions
00060               Bool_t CurColExists() const;
00061               string CurColString() const;
00062               string CurColValue() const { LoadCurValue(); return fValString;}
00063               UInt_t CurRowNum() const { return fCurRow;}
00064               UInt_t GetDbNo() const { return fDbNo; }
00065               Dbi::DbTypes GetDBType() const { return fDbType; }
00066               string GetFillOpts() const { return fFillOpts;}
00067 const DbiTableProxy* GetTableProxy() const { return fTableProxy; }
00070   Bool_t IsBeforeFirst() const { return false; };
00071               Bool_t IsExhausted() const { return fExhausted; }
00072                 void RowAsCsv(string& row) const;
00073 
00074 // State changing member functions
00075 
00076  DbiResultSet& operator>>(Bool_t& dest);
00077  DbiResultSet& operator>>(Char_t& dest);
00078  DbiResultSet& operator>>(Short_t& dest);
00079  DbiResultSet& operator>>(UShort_t& dest);
00080  DbiResultSet& operator>>(Int_t& dest);
00081  DbiResultSet& operator>>(UInt_t& dest);
00082  DbiResultSet& operator>>(Long_t& dest);
00083  DbiResultSet& operator>>(ULong_t& dest);
00084  DbiResultSet& operator>>(Float_t& dest);
00085  DbiResultSet& operator>>(Double_t& dest);
00086  DbiResultSet& operator>>(string& dest);
00087  DbiResultSet& operator>>(TimeStamp& dest);
00088 
00089   Bool_t FetchRow();
00090 
00091 private:  
00092 
00093   string& AsString(Dbi::DataTypes type);
00094  Bool_t LoadCurValue() const;
00095  TString GetStringFromTSQL(Int_t col) const;
00096 
00097 // Data members
00098 
00100   Int_t fCurRow;           
00101 
00103   UInt_t fDbNo;             
00104 
00106   Dbi::DbTypes fDbType;           
00107 
00112   DbiStatement* fStatement;        
00113 
00115   TSQLStatement* fTSQLStatement;        
00116 
00118   Bool_t fExhausted;        
00119 
00121   const DbiTableProxy* fTableProxy;  
00122 
00124 mutable  string fValString;   
00125 
00127   string fFillOpts;
00128 
00129 // Removed: ClassDef(DbiResultSet,0)     //ResultSet from Query to database table 
00130 
00131 };
00132 
00133 
00134 #endif  // DBIRESULTSET_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 09:56:45 for DatabaseInterface by doxygen 1.7.4