00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef __C_ORACLECURSOR_H__
00016 #define __C_ORACLECURSOR_H__
00017
00018
00019 #include <lOracle.h>
00020
00021
00022 #include <lDefs.h>
00023 #include <lTypes.h>
00024 #include <lExceptions.h>
00025
00026
00027 #include <cCursor.h>
00028
00029 class DLL_External OracleCursor : public Cursor
00030 {
00031 #ifdef POLITE_TEST_FRIEND
00032 friend POLITE_TEST_FRIEND;
00033 #endif // POLITE_TEST_FRIEND
00034
00035 friend class OracleConnection;
00036
00037 protected:
00038 Cda_Def _CDA;
00039
00040 OracleCursor(
00041 class Connection *DbC
00042 );
00043
00044 public:
00045 virtual ~OracleCursor();
00046
00047 protected:
00048 virtual bool _Open();
00049 virtual bool _Prepare(const char * const SqlCommand);
00050 virtual bool _PreExecBind(
00051 const char *const VarName,
00052 const void *VarAddr,
00053 const int VarLen,
00054 const char VarType,
00055 const short *VarInd = NULL
00056 );
00057 virtual bool _Execute();
00058 virtual bool _PreFetchBind(
00059 const int Position,
00060 const void *VarAddr,
00061 const int VarLen,
00062 const char VarType,
00063 const short *VarInd = NULL
00064 );
00065 virtual bool _FetchNext();
00066 virtual bool _FetchPrev();
00067 virtual long _Position();
00068 virtual bool _Close();
00069 };
00070
00071 #endif //__C_ORACLECURSOR_H__