Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

O3DBIStatement.h

Go to the documentation of this file.
00001 
00041 #if !defined(O3DBI_O3DBISTATEMENT_H)
00042 #define O3DBI_O3DBISTATEMENT_H
00043 
00044 #include "O3DBIObject.h"
00045 #include "O3DBIDatabase.h"
00046 #include "O3DBIRecordSet.h"
00047 
00052 class O3DBIStatement : public O3DBIObject  
00053 {
00054 // Construction/destruction
00055 public:
00059     O3DBIStatement();
00065     O3DBIStatement(PC_TCHAR pchStmnt);
00070     O3DBIStatement(const O3DBIStatement& other);
00074     virtual ~O3DBIStatement();
00075 
00076 // Operations
00077 public:
00082     O3DBIStatement& operator=(const O3DBIStatement& other);
00089     O3DBIStatement& operator=(PC_TCHAR pchStmnt);
00096     bool operator==(const O3DBIStatement& other) const;
00103     void SetStatement(PC_TCHAR pchStmnt);
00108     PC_TCHAR GetStatement(void) const;
00109 
00117     void SetBindVariable(PC_TCHAR pchPlaceholderName, int iValue);
00126     void SetBindVariable(PC_TCHAR pchPlaceholderName, unsigned int uValue);
00135     void SetBindVariable(PC_TCHAR pchPlaceholderName, long lValue);
00144     void SetBindVariable(PC_TCHAR pchPlaceholderName, unsigned long ulValue);
00154     void SetBindVariable(PC_TCHAR pchPlaceholderName, float fValue);
00165     void SetBindVariable(PC_TCHAR pchPlaceholderName, double dValue);
00175     void SetBindVariable(PC_TCHAR pchPlaceholderName, const TO3DBIString& strValue);
00184     void SetBindVariable(PC_TCHAR pchPlaceholderName, PC_TCHAR pchValue);
00194     void SetBindVariable(PC_TCHAR pchPlaceholderName, const O3DBIDate& dtValue);
00204     void SetBindVariable(PC_TCHAR pchPlaceholderName, const O3DBITimestamp& tsValue);
00214     void SetBindVariable(PC_TCHAR pchPlaceholderName, const O3DBIClob& value);
00224     void SetBindVariable(PC_TCHAR pchPlaceholderName, const O3DBIBlob& value);
00234     void SetBindVariable(PC_TCHAR pchPlaceholderName, const O3DBIBfile& value);
00244     void SetBindVariable(PC_TCHAR pchPlaceholderName, const O3DBIXml& value);
00245 
00252     void SetBindVariable(TO3DBIBinderPos position, int iValue);
00260     void SetBindVariable(TO3DBIBinderPos position, unsigned int uValue);
00268     void SetBindVariable(TO3DBIBinderPos position, long lValue);
00276     void SetBindVariable(TO3DBIBinderPos position, unsigned long ulValue);
00285     void SetBindVariable(TO3DBIBinderPos position, float fValue);
00295     void SetBindVariable(TO3DBIBinderPos position, double dValue);
00304     void SetBindVariable(TO3DBIBinderPos position, const TO3DBIString& strValue);
00312     void SetBindVariable(TO3DBIBinderPos position, PC_TCHAR pchValue);
00321     void SetBindVariable(TO3DBIBinderPos position, const O3DBIDate& dtValue);
00330     void SetBindVariable(TO3DBIBinderPos position, const O3DBITimestamp& tsValue);
00339     void SetBindVariable(TO3DBIBinderPos position, const O3DBIClob& value);
00348     void SetBindVariable(TO3DBIBinderPos position, const O3DBIBlob& value);
00357     void SetBindVariable(TO3DBIBinderPos position, const O3DBIBfile& value);
00366     void SetBindVariable(TO3DBIBinderPos position, const O3DBIXml& value);
00377     void DefineResultType(TO3DBIColumnPos position, const O3DBIDataField& field);
00378 
00385     TO3DBIResult Execute(O3DBIDatabase& db, O3DBIRecordSet& recordset);
00396     TO3DBIResult ExecuteAsync(O3DBIDatabase& db, O3DBIRecordSet& recordset);
00403     bool IsStillExecuting(void);
00408     bool Terminate(void);
00409     virtual TO3DBIString ToString(void) const;
00410 
00411 // Internal implementation
00412 protected:
00413     bool AllocateAndSetStmnt(PC_TCHAR pchStmnt);
00414     void AllocateStmntHandle(void);
00415     void PrepareStatement(void);
00416     void BindInputParams(void);
00417     void DefineOutputParams(void);
00418     void PreBindCheck(PC_TCHAR pchPlaceholderName) const;
00419 
00420 protected:
00421     P_TCHAR                 _pchStmnt;
00422     TOCIStatementHandle     _hStmnt;
00423 };
00424 
00425 #endif // !defined(O3DBI_O3DBISTATEMENT_H)



SourceForge.net Logo Generated on Sun Jan 23 11:36:35 2005 for Oracle Object Oriented Database Interface (O3DBI) by  doxygen 1.3.9.1